diff --git a/pkg/agentdrain/data/default_weights.json b/pkg/agentdrain/data/default_weights.json index 74ea4e2b819..0d6cc42bd3a 100644 --- a/pkg/agentdrain/data/default_weights.json +++ b/pkg/agentdrain/data/default_weights.json @@ -2,105 +2,156 @@ "error": { "clusters": [ { - "id": 1, + "id": 2, "size": 1, "stage": "error", "template": [ "stage=error", - "reason=The", + "reason=Serena", + "MCP", + "server", + "is", + "configured", + "but", + "its", "tools", - "`activate_project`", - "and", - "`find_symbol`", - "are", + "were", "not", - "available", - "in", - "this", - "environment.", - "These", - "appear", + "exposed", "to", + "this", + "agent.", + "Tests", + "3", + "(Serena", + "activation", + "+", + "symbol", + "search)", + "could", + "not", "be", - "Serena", - "language", - "server", + "executed.", + "tool=Serena", "MCP", - "tools,", - "which", - "are", - "not", - "listed", - "among", - "the", "tools", - "I", - "have", - "access", - "to.", - "tool=activate_project", - "/", - "find_symbol", - "(Serena", - "MCP", - "tools)", + "(activate_project,", + "find_symbol)", "type=missing_tool" ] }, { - "id": 2, + "id": 3, "size": 1, "stage": "error", "template": [ "stage=error", - "reason=Phase", - "0", - "prerequisite", - "check", - "failed:", - "the", - "`close_discussion`", - "safe-output", - "tool", - "is", - "required", + "reason=The", + "regulatory", + "workflow", + "requires", + "close_discussion", "to", - "archive", + "supersede", "previous", "daily", "regulatory", - "discussions", - "before", - "creating", - "a", - "new", - "report,", - "but", - "it", - "is", - "not", + "reports.", + "Only", + "create_discussion,", + "missing_tool,", + "missing_data,", + "and", + "noop", + "are", "available", "in", - "the", - "current", - "safe-output", - "toolset", - "(only:", - "create_discussion,", - "missi", - "[Content", - "truncated", - "due", - "to", - "length]", + "this", + "environment.", "tool=close_discussion", + "safe-output", + "tool", + "type=missing_tool" + ] + }, + { + "id": 4, + "size": 1, + "stage": "error", + "template": [ + "stage=error", + "reason=The", + "agenticworkflows", + "MCP", + "tools", + "(audit,", + "logs)", + "fail", + "with", + "\"\u003c*\u003e\",", + "preventing", + "retrieval", + "of", + "detailed", + "DIFC", + "gateway", + "filtered", + "events", + "for", + "each", + "run.", + "tool=agenticworkflows", + "audit", + "type=missing_tool" + ] + }, + { + "id": 1, + "size": 1, + "stage": "error", + "template": [ + "stage=error", + "reason=Test", + "#6", + "requires", + "Tavily", + "MCP", + "server", + "for", + "web", + "search", + "of", + "'GitHub", + "Agentic", + "Workflows',", + "but", + "no", + "Tavily", + "server", + "is", + "configured", + "in", + "this", + "workflow's", + "MCP", + "tools.", + "tool=Tavily", + "Web", + "Search", + "MCP", + "Server", "type=missing_tool" ] } ], "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -138,7 +189,7 @@ "RareClusterThreshold": 2, "SimThreshold": 0.4 }, - "next_id": 3 + "next_id": 5 }, "finish": { "clusters": [ @@ -146,12 +197,21 @@ "id": 1, "size": 100, "stage": "finish", - "template": ["stage=finish", "\u003c*\u003e", "tokens=\u003cNUM\u003e"] + "template": [ + "stage=finish", + "\u003c*\u003e", + "tokens=\u003cNUM\u003e" + ] } ], "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -195,14 +255,23 @@ "clusters": [ { "id": 1, - "size": 58, + "size": 72, "stage": "plan", - "template": ["stage=plan", "errors=\u003cNUM\u003e", "turns=\u003cNUM\u003e"] + "template": [ + "stage=plan", + "errors=\u003cNUM\u003e", + "turns=\u003cNUM\u003e" + ] } ], "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -246,7 +315,12 @@ "clusters": null, "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -290,7 +364,12 @@ "clusters": null, "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -338,232 +417,208 @@ "stage": "tool_result", "template": [ "stage=tool_result", - "message=No", - "action", - "needed:", - "The", - "pre-agent", - "step", - "did", - "not", - "produce", - "a", - "pr-filter-results.json", - "file", - "at", - "the", - "workspace", - "root.", - "Without", + "message=Workflow", + "Style", + "Normalization", + "-", + "2026-04-12:", + "Reviewed", + "25", + "active", + "workflows", + "from", "the", - "pre-filtered", + "last", + "24", + "hours.", + "All", + "19", + "reporting", + "workflows", + "(creating", + "issues,", + "discussions,", + "or", "PR", - "list,", - "no", - "contribution", - "checks", - "could", - "be", - "dispatched.", - "The", - "repository", - "currently", - "has", - "2", - "open", - "PRs", - "(#25532,", - "#25403),", - "but", - "both", - "appear", - "to", - "be", - "authored", - "by", - "`@Copilot`", - "(the", - "coding", - "agent)", - "and", - "may", - "have", - "been", - "filtered", - "out", - "by", + "comments)", + "are", + "compliant.", + "15+", + "workflows", + "import", + "shared/reporting.md", + "with", + "explicit", + "h3+/details", + "guidelines;", "the", - "pre-agent", - "step.", + "remaining", + "have", + "proper", + "h3+/details", + "templates", + "inline.", "No", - "report", - "issue", - "was", + "issues", "created.", "status=noop" ] }, { - "id": 13, + "id": 14, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", "message=No", - "DIFC", - "integrity-filtered", - "events", - "found", + "action", + "needed:", + "All", + "safe-output", + "types", + "are", + "already", + "fully", + "covered.", + "All", + "40", + "testable", + "safe-output", + "types", + "(create-issue,", + "create-discussion,", + "update-discussion,", + "close-discussion,", + "close-issue,", + "close-pull-request,", + "mark-pull-request-as-ready-for-review,", + "add-comment,", + "create-pull-request,", + "create-pull-request-review-comment,", + "submit-pull-request-review,", + "reply-to-pull-request-review-comment,", + "resolve-pull-request-review-thread,", + "create-code-scanning-alerts,", + "autofix-code-scanning-alert,", + "add-labels,", + "remove-labels,", + "add-reviewer,", + "assign-milestone,", + "assign-to-agent,", + "assign-to-user,", + "unassign-from-user,", + "update-issue,", + "update-pull-request,", + "push-to-pull-request-branch,", + "upload-asset,", + "upload-artifact,", + "update-release,", + "create-agent-session,", + "update-project,", + "create-project,", + "create-project-status-update,", + "link-sub-issue,", + "hide-comment,", + "set-issue-type,", + "dispatch-workflow,", + "call-workflow,", + "missing-tool,", + "missing-data,", + "noop,", + "report-incomplete)", + "have", + "test", + "workflows", "in", - "the", - "last", - "7", - "days.", - "The", - "filtered-logs.json", - "contained", - "16", - "workflow", - "runs", - "(IDs:", - "24207309248,", - "24204964096,", - "24204964101,", - "23943687887,", - "23943472009,", - "23940778805,", - "24197644015,", - "24193714728,", - "24189259135,", - "24186119866,", - "24175322446,", - "24172071943,", - "24148090336,", - "24142323339,", - "24138665837,", - "24137591061),", - "but", - "none", - "of", - "the", - "audited", - "runs", - "contained", - "`gateway_analysis.filtered_events`", - "data", - "—", - "no", - "DIFC", - "integrity-filtering", - "events", - "were", - "recorded", - "for", - "this", - "repository", + "pkg/cli/workflows/", + "and", + "Go", + "compiler", + "tests", "in", - "the", - "analysis", - "window.", + "pkg/workflow/compiler_safe_outputs_config_test.go.", + "Coverage", + "is", + "complete.", "status=noop" ] }, { - "id": 14, + "id": 20, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", "message=No", - "action", - "needed:", + "new", + "issues", + "created:", "Reviewed", + "all", "187", - "lock", - "files", - "(last", - "run", - "was", - "2026-04-08,", - "within", - "the", - "3-day", - "skip", - "threshold).", - "Only", - "change", - "since", - "last", - "run", + ".lock.yml", + "files.", + "Key", + "findings:", + "(1)", + "\"\u003c*\u003e\"", + "issue", + "(aw_chkout2)", "is", - "e406559", - "(test", - "fix,", - "no", - "step", - "name", - "changes).", - "Verified", + "now", + "resolved", + "—", + "0", + "occurrences", + "remain.", + "(2)", + "Existing", "open", - "issues", + "issue", "#23941", - "(Cache", - "naming,", - "3", - "files)", - "and", - "aw_chkout2", - "(Checkout", - "code,", - "2", - "files)", - "are", + "(\"\u003c*\u003e\"", + "pattern)", "still", - "open.", - "Confirmed", - "aw_safeout1", - "is", - "now", - "resolved:", - "'Upload", - "Safe", - "Output", - "Items'", - "(singular)", - "no", - "longer", - "exists,", - "replaced", - "by", - "'Upload", - "Safe", - "Outputs", - "Items'", - "(plural).", - "'Upload", - "Safe", - "Outputs", - "Assets'", - "and", - "'Upload", - "Safe", - "Outputs", - "Items'", - "confirmed", - "as", - "distinct", - "intentional", - "steps", - "(different", - "upload", - "paths).", + "applies", + "to", + "3", + "known", + "files;", + "a", + "4th", + "file", + "(ai-moderator.lock.yml)", + "was", + "found", + "using", + "the", + "same", + "\"\u003c*\u003e\"", + "anti-pattern", + "—", + "tracked", + "under", + "#23941", + "rather", + "than", + "creating", + "a", + "duplicate", + "issue.", + "No", + "other", + "new", + "naming", + "inconsistencies", + "found.", "Cache", + "memory", "updated.", "status=noop" ] }, { - "id": 1, + "id": 23, "size": 1, "stage": "tool_result", "template": [ @@ -571,66 +626,65 @@ "message=No", "action", "needed:", - "Analyzed", - "module", - "`github.com/aymanbagabas/go-osc52/v2`", - "(next", - "in", - "round-robin", - "from", - "107", - "Go", - "dependencies", - "in", - "SBOM).", - "Module", - "is", - "MIT", - "licensed,", - "has", - "no", - "transitive", - "dependencies,", - "and", - "introduces", + "PR", + "triage", + "complete.", + "Found", + "1", + "open", + "Copilot-authored", + "PR", + "(#25830", + "\"\u003c*\u003e\"),", + "but", + "it", + "originates", + "from", + "a", + "same-repo", + "branch", + "(head.repo.full_name", + "==", + "base.repo.full_name", + "==", + "github/gh-aw),", + "not", + "a", + "fork.", + "Per", + "the", + "fork-only", + "triage", + "policy,", "no", - "GPL-type", - "licenses.", - "Also", - "verified", - "licenses", + "PRs", + "qualified", "for", - "30+", - "additional", - "modules", + "triage", "this", + "run.", + "Previous", + "6", + "PRs", + "from", "run", - "(all", - "MIT,", - "BSD-2-Clause,", - "BSD-3-Clause,", - "Apache-2.0,", - "or", - "Unlicense", - "—", - "all", - "compatible", - "with", - "MIT).", - "Cache", + "24295465215", + "appear", + "to", + "have", + "been", + "closed/merged.", + "Triage", "state", - "updated", + "saved", "to", - "track", - "progress", - "(12/107", - "modules", - "checked).", + "repo", + "memory.", "status=noop" ] }, { - "id": 3, + "id": 9, "size": 1, "stage": "tool_result", "template": [ @@ -638,116 +692,58 @@ "message=Smoke", "test", "complete", - "—", - "all", - "12/12", - "tools", - "available:", - "|", - "Tool", - "|", - "Status", - "|", - "Version", - "|", - "|------|--------|---------|", - "|", + "-", + "no", + "PR/issue", + "to", + "comment", + "on.", + "Results:", "bash", - "|", "✅", - "|", - "5.2.21", - "|", - "|", + "5.2.21,", "sh", - "|", - "✅", - "|", - "available", - "|", - "|", + "✅,", "git", - "|", "✅", - "|", - "2.53.0", - "|", - "|", + "2.53.0,", "jq", - "|", "✅", - "|", - "1.7", - "|", - "|", + "1.7,", "yq", - "|", "✅", - "|", - "v4.52.5", - "|", - "|", + "4.52.5,", "curl", - "|", "✅", - "|", - "8.5.0", - "|", - "|", + "8.5.0,", "gh", - "|", "✅", - "|", - "2.89.0", - "|", - "|", + "2.89.0,", "node", - "|", "✅", - "|", - "v20.20.2", - "|", - "|", + "20.20.2,", "python3", - "|", "✅", - "|", - "3.12.3", - "|", - "|", + "3.12.3,", "go", - "|", "✅", - "|", - "1.24.13", - "|", - "|", + "1.24.13,", "java", - "|", "✅", - "|", - "openjdk", - "21.0.10", - "|", - "|", + "10.0.201,", "dotnet", - "|", "✅", - "|", - "10.0.201", - "|", - "**Result:**", + "10.0.201.", "12/12", "tools", "available", - "✅", - "—", - "PASS", + "-", + "PASS.", "status=noop" ] }, { - "id": 4, + "id": 11, "size": 1, "stage": "tool_result", "template": [ @@ -755,232 +751,718 @@ "message=No", "action", "needed:", - "Queried", - "all", + "Found", + "4", "open", - "issues", + "Copilot-authored", + "PRs", + "(#25958,", + "#25948,", + "#25928,", + "#25830),", + "all", + "originating", + "from", + "same-repo", + "branches", + "(not", + "forks).", + "Per", + "fork-only", + "triage", + "policy,", + "none", + "qualify", + "for", + "triage.", + "State", + "saved", + "to", + "repo", + "memory", + "for", + "next", + "run.", + "status=noop" + ] + }, + { + "id": 19, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "DIFC", + "integrity-filtered", + "events", + "found", "in", - "github/gh-aw", + "the", + "last", + "7", + "days.", + "The", + "filtered-logs.json", + "contains", + "50", + "recent", + "runs,", + "none", + "of", + "which", + "are", + "flagged", + "with", + "DIFC", + "integrity-filtered", + "events.", + "Additionally,", + "the", + "agenticworkflows", + "MCP", + "audit", + "tool", + "returned", + "permission", + "denied,", + "preventing", + "deep", + "inspection", + "of", + "individual", + "runs", "for", - "no:label", + "gateway", + "filtered", + "events.", + "No", + "report", + "generated.", + "status=noop" + ] + }, + { + "id": 3, + "size": 2, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "ADR", + "enforcement", + "needed:", + "PR", + "\u003c*\u003e", + "does", + "not", + "have", + "the", + "'implementation'", + "label", "and", - "found", + "has", "0", - "unlabeled", - "issues.", - "All", - "open", - "issues", + "new", + "lines", + "of", + "code", + "in", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "\u003c*\u003e", + "status=noop" + ] + }, + { + "id": 6, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "action", + "needed:", + "PR", + "#25928", "already", + "contains", + "a", + "valid", + "changeset", + "file", + "(.changeset/patch-mount-mcp-servers-as-clis.md)", + "with", + "correct", + "format", + "and", + "patch", + "bump", + "for", + "gh-aw.", + "status=noop" + ] + }, + { + "id": 8, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "ADR", + "enforcement", + "needed:", + "PR", + "#25658", + "does", + "not", "have", - "at", - "least", - "one", - "label", - "applied", - "—", "the", - "unlabeled", - "percentage", - "is", - "currently", - "0%,", + "'implementation'", + "label,", + "and", + "has", + "only", + "20", + "new", + "lines", + "of", + "code", + "in", + "business", + "logic", + "directories", + "(pkg/)", + "—", "well", - "below", + "under", "the", - "5%", - "target", + "100-line", "threshold.", + "The", + "PR", + "is", + "a", + "CLI", + "consistency", + "fix", + "(aligning", + "--dir", + "flag", + "semantics,", + "correcting", + "help", + "text,", + "adding", + "--dir", + "to", + "the", + "remove", + "command)", + "with", + "no", + "architectural", + "decisions", + "that", + "would", + "warrant", + "an", + "ADR.", "status=noop" ] }, { - "id": 6, + "id": 13, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", "message=No", + "action", + "needed:", + "Scanned", + "the", + "repository", + "for", "SQL", "injection", "vulnerabilities", - "found.", + "using", + "grep-based", + "pattern", + "analysis", + "(Semgrep", + "unavailable", + "due", + "to", + "network", + "restrictions).", "The", - "gh-aw", "codebase", "has", "no", "SQL", "database", - "usage", - "—", - "no", - "imports", - "of", + "dependencies", + "(no", "database/sql,", "sqlx,", "gorm,", - "pgx,", "or", - "any", - "SQL", - "ORM/driver.", - "All", - "\"\u003c*\u003e\"", - "references", + "similar", + "packages", "in", - "the", - "codebase", + "go.mod),", + "no", + "SQL", + "query", + "construction", + "via", + "string", + "formatting", + "or", + "concatenation,", + "and", + "no", + "SQL-related", + "runtime", + "code.", + "The", + "only", + "SQL", + "mentions", "are", "in", "test", "fixture", - "data", - "representing", - "Docker", - "service", - "configurations", + "strings", + "and", + "a", + "comment", + "listing", + "SQL", + "as", + "a", + "heredoc", + "keyword.", + "No", + "vulnerabilities", + "found.", + "status=noop" + ] + }, + { + "id": 21, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "ADR", + "enforcement", + "needed:", + "PR", + "#25929", + "(\"\u003c*\u003e\")", + "has", + "no", + "\"\u003c*\u003e\"", + "label", + "and", + "contains", + "only", + "2", + "total", + "additions", + "across", + "a", + "workflow", + "YAML", + "and", + "a", + "JSDoc", + "comment", "in", - "GitHub", - "Actions", - "workflows,", + "`actions/setup/js/upload_artifact.cjs`.", + "Neither", + "business", + "logic", + "directory", + "threshold", + "(\u003e100", + "lines)", + "nor", + "the", + "\"\u003c*\u003e\"", + "label", + "trigger", + "condition", + "is", + "met.", + "The", + "change", + "is", + "a", + "minor", + "documentation", + "fix", + "(JSDoc", + "annotation)", + "and", + "a", + "CI", + "runner", + "version", + "bump", + "—", "not", - "application", - "database", - "access.", - "There", + "an", + "architectural", + "decision.", + "status=noop" + ] + }, + { + "id": 22, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "test", + "files", + "were", + "added", + "or", + "modified", + "in", + "PR", + "#25929", + "(\"\u003c*\u003e\").", + "The", + "PR", + "only", + "touches", + "`.github/workflows/agentics-maintenance.yml`", + "and", + "`actions/setup/js/upload_artifact.cjs`", + "(a", + "JSDoc", + "type", + "annotation", + "fix).", + "Test", + "Quality", + "Sentinel", + "skipped.", + "status=noop" + ] + }, + { + "id": 1, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "action", + "needed:", + "Analyzed", + "github.com/bmatcuk/doublestar/v4", + "(next", + "in", + "round-robin", + "rotation", + "from", + "107", + "total", + "Go", + "dependencies).", + "The", + "module", "is", + "MIT", + "licensed", + "with", "no", - "attack", - "surface", - "for", - "SQL", - "injection", + "transitive", + "dependencies", + "—", + "no", + "GPL/copyleft", + "issues", + "found.", + "Cache", + "state", + "updated", + "(14/107", + "modules", + "checked).", + "status=noop" + ] + }, + { + "id": 4, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "test", + "files", + "were", + "added", + "or", + "modified", "in", "this", - "repository.", + "PR.", + "The", + "PR", + "only", + "modifies", + "`.github/workflows/contribution-check.lock.yml`", + "and", + "`.github/workflows/contribution-check.md`.", + "Test", + "Quality", + "Sentinel", + "skipped.", "status=noop" ] }, { - "id": 7, + "id": 5, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", "message=No", - "action", + "ADR", + "enforcement", "needed:", - "Issue", - "#25548", - "already", + "PR", + "#25972", + "does", + "not", + "have", + "the", + "'implementation'", + "label,", + "and", "has", - "appropriate", - "labels", - "(enhancement,", - "awf).", - "The", - "issue", + "0", + "new", + "lines", + "of", + "code", + "in", + "the", + "default", + "business", + "logic", + "directories", + "(src/,", + "lib/,", + "pkg/,", + "internal/,", + "app/,", + "core/,", + "domain/,", + "services/,", + "api/).", + "All", + "172", + "additions", + "are", + "in", + "actions/setup/js/,", + "which", "is", - "a", - "feature", - "request", - "to", - "add", - "--diagnostic-logs", - "flag", - "for", - "collecting", - "Docker", - "operational", - "logs", - "on", - "AWF", - "failures.", - "Author", + "outside", + "the", + "monitored", + "directories.", + "No", + ".design-gate.yml", + "override", "is", - "a", - "COLLABORATOR,", - "so", - "no", - "community", - "label", - "needed.", + "present.", "status=noop" ] }, { - "id": 9, + "id": 15, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", - "message=All", - "Safe", - "Outputs", - "conformance", - "checks", - "passed", - "-", - "no", - "issues", - "to", - "report.", - "Script", - "exited", + "message=No", + "action", + "needed:", + "Analyzed", + "1", + "open", + "draft", + "PR", + "in", + "github/gh-aw.", + "PR", + "#25928", + "(\"\u003c*\u003e\")", + "was", + "created", + "today", + "(2026-04-12,", + "~3", + "hours", + "ago)", "with", - "code", - "0.", - "Results:", "0", - "Critical,", + "days", + "of", + "inactivity", + "—", + "well", + "under", + "the", + "10-day", + "warning", + "threshold.", + "No", + "warnings", + "or", + "closures", + "required.", + "Total:", + "1", + "active,", + "0", + "warned,", "0", - "High,", + "closed,", + "0", + "exempt.", + "status=noop" + ] + }, + { + "id": 16, + "size": 1, + "stage": "tool_result", + "template": [ + "stage=tool_result", + "message=No", + "ADR", + "enforcement", + "needed:", + "PR", + "#25941", + "does", + "not", + "have", + "the", + "'implementation'", + "label", + "and", + "has", "0", - "Medium,", - "2", - "Low", - "failures.", - "The", - "2", - "LOW", - "findings", - "(USE-001:", - "generate_safe_outputs_tools.cjs", - "may", - "not", - "use", - "standardized", - "error", - "codes;", - "USE-003:", - "upload_artifact.cjs", - "missing", - "🎭", - "emoji", + "new", + "lines", + "of", + "code", + "in", + "the", + "default", + "business", + "logic", + "directories", + "(src/,", + "lib/,", + "pkg/,", + "internal/,", + "app/,", + "core/,", + "domain/,", + "services/,", + "api/).", + "All", + "91", + "additions", + "are", "in", - "staged", - "mode)", - "do", + "actions/setup/js/,", + "actions/setup/md/,", + "and", + ".github/workflows/", + "—", + "infrastructure/tooling", + "directories", "not", - "meet", + "covered", + "by", "the", - "threshold", + "ADR", + "gate.", + "No", + ".design-gate.yml", + "was", + "found,", + "so", + "defaults", + "apply.", + "The", + "PR", + "(a", + "bug", + "fix", + "adding", + "effective", + "token", + "count", + "to", + "noop/detection", + "comment", + "footers)", + "does", + "not", + "meet", + "either", + "trigger", + "condition", "for", - "issue", - "creation", - "(requires", - "5+", - "LOW", - "issues", - "in", - "same", - "category).", + "ADR", + "enforcement.", "status=noop" ] }, { - "id": 10, + "id": 17, "size": 1, "stage": "tool_result", "template": [ @@ -992,30 +1474,27 @@ "scan", "completed.", "Analyzed", - "296", - "code", + "~587", "files", - "(145", - "commits)", - "from", + "changed", + "across", + "117", + "commits", + "in", "the", "last", "3", "days", - "across", - "authors:", - "Copilot", - "(100),", - "github-actions[bot]", - "(27),", - "dependabot[bot]", - "(9),", - "and", - "4", - "human", - "contributors.", + "(2026-04-09", + "to", + "2026-04-12).", + "No", + "suspicious", + "patterns", + "detected.", "**Patterns", - "scanned:**", + "searched", + "for:**", "-", "Secret", "exfiltration", @@ -1025,236 +1504,164 @@ "network", "calls)", "-", - "Obfuscated/encoded", - "payloads", + "Obfuscated", + "code", "(base64,", - "hex)", - "-", - "Suspicious", - "eval/exec", - "usage", - "-", - "External", - "unauthorized", - "HTTP", - "calls", + "hex", + "encoding,", + "eval", + "abuse)", "-", - "Unusual", - "file", - "additions", - "in", + "Out-of-context", + "code", + "(unusual", + "imports,", "unexpected", - "locations", + "file", + "locations)", "-", "Suspicious", "system", "operations", + "(privilege", + "escalation,", + "unusual", + "exec", + "calls)", "-", - "Out-of-context", - "cryptographic", - "operations", - "**Key", - "changes", - "reviewed:**", - "-", - "New", - "`copilot_driver.cjs`:", - "Legitimate", - "retry", - "wrapper", - "for", - "Copilot", - "CLI", - "subprocess", - "-", - "New", - "`upload_artifact.cjs`:", - "Safe-output", - "artifact", - "upload", - "handler", - "with", - "path", - "traversal", - "protection", + "External", + "HTTP", + "calls", + "to", + "unknown", + "domains", "-", - "New", - "`start_cli_proxy.sh`", - "/", - "`stop_cli_proxy.sh`:", - "Docker-based", - "CLI", - "proxy", - "lifecycle", - "scripts", - "using", - "project-scoped", - "images", - "(ghcr.io/github/gh-aw-mcpg)", + "CI/CD", + "pipeline", + "tampering", + "**Key", + "findings:**", "-", - "New", - "`runner_guard.go`:", - "Taint", - "analysis", - "scanner", - "integration", - "with", - "input", - "validation", - "(#nosec", - "comment", - "appropriately", - "placed)", + "All", + "commits", + "from", + "expected", + "authors", + "(Copilot", + "bot,", + "github-actions", + "bot,", + "Don", + "Syme,", + "Landon", + "Cox,", + "Salman", + "Chishti,", + "dependabot)", "-", - "`sanitize_content_core.cjs`", + "Security-improving", "changes:", - "Security", - "hardening", - "(homoglyph", - "normalization,", - "percent-encoding", - "bypass", - "prevention)", + "template", + "injection", + "fix", + "(#25888),", + "MCP", + "gateway", + "token", + "redaction", + "improvements", "-", "`eval()`", - "uses:", - "All", - "in", - "`.test.cjs`", + "uses", + "are", + "confined", + "to", + "test", "files", - "for", + "using", + "established", "test", "harness", - "simulation", - "—", - "pre-existing", - "pattern,", - "not", - "new", - "production", - "code", + "patterns", "-", - "GITHUB_TOKEN", - "references:", - "All", + "Trust", + "boundary", + "expansion", + "in", + "`safe_update_enforcement.go`", + "is", + "a", "legitimate", - "(proxy", - "setup,", - "test", - "mocks", - "with", - "`delete`", - "to", - "clean", - "env)", - "**No", - "suspicious", - "patterns", - "detected.**", - "All", - "changes", - "align", + "maintainer", + "change", + "-", + "Container", + "pinning,", + "threat", + "detection,", + "and", + "maintenance", + "workflow", + "additions", + "are", + "all", + "consistent", "with", - "the", - "repository's", + "project", "purpose", - "(GitHub", - "CLI", - "extension", - "for", - "agentic", - "workflows)", - "and", - "show", - "security-positive", - "patterns", - "(input", - "validation,", - "token", - "handling", - "hardening,", - "sanitization", - "improvements).", "status=noop" ] }, { - "id": 11, + "id": 18, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", - "message=##", - "Service", - "Ports", - "Smoke", - "Test", - "(Redis)", - "|", - "Test", - "|", - "Status", - "|", - "|------|--------|", - "|", - "Redis", + "message=Redis", + "smoke", + "test", + "complete", + "—", + "all", + "3", + "tests", + "passed.", "PING", - "|", - "✅", - "PONG", - "received", - "|", - "|", - "Redis", + "returned", + "PONG,", "SET/GET", - "|", - "✅", - "Value", "round-tripped", - "(`service-ports-ok`)", - "|", - "|", - "Redis", + "\"\u003c*\u003e\",", + "and", "INFO", - "|", - "✅", - "Server", - "info", - "retrieved", - "(redis", - "7.4.8)", - "|", - "**Result:**", - "3/3", - "tests", - "passed", - "✅", - "Note:", - "`redis-cli`", + "server", + "returned", + "Redis", + "7.4.8", + "metadata.", + "redis-cli", "was", - "not", - "available;", - "all", + "unavailable", + "so", "tests", - "used", - "`nc`", - "(netcat)", - "with", - "raw", - "Redis", - "protocol.", + "were", + "run", + "via", + "Python", + "socket", + "(RESP", + "protocol).", "No", + "PR/issue", + "to", + "comment", + "on", + "(no", "PR", "number", - "available", "in", - "this", - "workflow", - "context,", - "so", - "reporting", - "via", - "noop.", + "context).", "status=noop" ] }, @@ -1272,87 +1679,44 @@ "MCP", "authentication", "test", - "passed.", - "MCP", - "tools", - "(github-issue_read,", - "github-list_issues)", - "successfully", - "accessed", - "github/gh-aw", + "PASSED.", + "Successfully", + "retrieved", + "repository", + "data", + "and", + "3", + "open", + "issues", + "(#25974,", + "#25970,", + "#25969)", "using", - "the", + "MCP", + "tools.", + "Authentication", + "with", "GitHub", "Actions", - "token.", - "Retrieved", - "open", - "issues", - "without", - "authentication", - "errors.", + "token", + "is", + "working", + "correctly.", "status=noop" ] }, { - "id": 5, + "id": 7, "size": 1, "stage": "tool_result", "template": [ "stage=tool_result", - "message=No", - "action", - "needed:", - "Triage", - "complete", - "for", - "Run", - "#24220921278.", - "Found", - "2", - "open", - "Copilot-authored", - "PRs", - "(#25561", - "draft,", - "#25553", - "open),", - "both", - "originating", - "from", - "same-repo", - "branches", - "(not", - "forks).", - "Per", - "fork-only", - "triage", - "policy,", - "0", - "PRs", - "were", - "eligible", - "for", - "triage.", - "PR", - "#25403", - "(previously", - "tracked", - "as", - "draft)", - "is", - "now", - "closed.", - "Memory", - "updated", - "with", - "current", - "state.", + "message=test", "status=noop" ] }, { - "id": 8, + "id": 10, "size": 1, "stage": "tool_result", "template": [ @@ -1360,62 +1724,50 @@ "message=No", "action", "needed:", - "Analyzed", - "3", + "Auto-triage", + "scan", + "found", + "0", + "unlabeled", "open", - "draft", - "PRs", + "issues", "in", "github/gh-aw.", "All", - "3", - "were", - "updated", - "today", - "(2026-04-09)", - "with", - "0", - "days", - "of", - "inactivity", - "—", + "open", + "issues", + "already", + "have", + "at", + "least", + "one", + "label", + "applied.", + "The", + "unlabeled", + "issue", + "percentage", + "is", + "currently", + "0%,", "well", "below", "the", - "10-day", - "warning", + "5%", + "target", "threshold.", - "No", - "warnings", - "added,", - "no", - "PRs", - "closed.", - "Summary:", - "#25541", - "(0d", - "inactive),", - "#25540", - "(0d", - "inactive),", - "#25403", - "(0d", - "inactive).", - "None", - "have", - "exemption", - "labels.", - "All", - "classified", - "as", - "ACTIVE.", "status=noop" ] } ], "config": { "Depth": 4, - "ExcludeFields": ["session_id", "trace_id", "span_id", "timestamp"], + "ExcludeFields": [ + "session_id", + "trace_id", + "span_id", + "timestamp" + ], "MaskRules": [ { "Name": "uuid", @@ -1453,6 +1805,6 @@ "RareClusterThreshold": 2, "SimThreshold": 0.4 }, - "next_id": 15 + "next_id": 24 } -} +} \ No newline at end of file