π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for April 2026 ## Suggested Actions for Maintainer **Comprehensive list** of all pending actions requiring maintainer attention. * [ ] **Check comment** #4463: Repo Assist verified `items_path.to_string()` clone fix and `extract_items_array` test gap β [View](https://github.com/github/gh-aw-mcpg/issues/4463) *(No open Repo Assist PRs at this time.)* ## Future Work for Repo Assist - Extract shared `sessionSuffix` helper to `internal/strutil` (Issue 1 from #4138) - Remove redundant `ParseError` type assertion in `config_core.go` (`LoadFromFile`) β identified in #4328 - Upgrade `go-sdk` from v1.5.0 β latest once `proxy.golang.org` is unblocked - Implement fix for #4463: replace 3Γ `items_path.to_string()` with move + add `extract_items_array` tests ## Guard Filtering Summary No objects were filtered by the guard policy. ## Run History ### 2026-04-24 12:39 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24889914696) - π·οΈ Labelled #4408, #4467, #4468 with `automation` (smoke test issues) - π¬ Commented on #4463: verified `items_path.to_string()` clone issue (3 sites confirmed) and `extract_items_array` zero-test coverage β both improvements accurate, recommended single PR ### 2026-04-23 12:40 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24835694671) - π§ Created PR (this run): `perf(rust-guard): eliminate ctx.clone() and use &'static str in NormalizedPolicy` β closes #4380 (reorders integrity computation before set_runtime_policy_context to move ctx instead of clone; adds ScopeKind::as_str(); NormalizedPolicy fields β &'static str; 322/322 Rust tests pass) - π§ Created PR (this run): `refactor(cmd): cobra UX improvements β NoArgs, MarkFlagFilename, preRun test fix` β relates to #4379 (adds Args: cobra.NoArgs; replaces 4 verbose RegisterFlagCompletionFunc lambdas with MarkFlagFilename/MarkFlagDirname; fixes 9 fragile preRun(nil,nil) in tests) ### 2026-04-22 12:40 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24778701637) - π§ Created PR **#4339** (**merged**): `fix(rust-guard): remove write-only owner-type cache and simplify get_issue_author_association` β closes #4329 (dead `repo_owner_type_cache` removed; `get_issue_author_association_with_callback` reduced from 35 lines to 3-line delegate; 322/322 Rust tests pass) - π¬ Commented on #4326: verified 4-site pattern, recommended `BuildMCPTextResponse` in `internal/mcp/tool_result.go` and consolidating #4326+#4327 together *(Copilot PR #4352 merged this β resolved)* ### 2026-04-21 12:41 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24722841729) - π§ Created PR **#4260** (**merged**): `refactor(rust-guard): extract is_any_trusted_actor helper and collapse URL fallback loop` β closes #4252 (three copy-pasted trust checks β helper; three URL-field if-let blocks β loop; 317/317 Rust tests pass) - π¬ Commented on #4250: confirmed root cause of `list_commits` `none` integrity on personal repos; prioritised primary vs secondary vs tertiary fix approaches *(issue closed by lpcox as completed)* - π·οΈ Labelled #4245 with `automation` ### 2026-04-20 12:43 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24667098092) - π§ Created PR **#4191** (**merged**): `fix(server): migrate guard_init.go DIFC logs to structured logger` β closes #4175 - π§ Created PR **#4192** (**merged**): `refactor(proxy): replace manual guard policy validation with ParseGuardPolicyJSON` β closes #4176 ### 2026-04-19 12:29 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24629079879) - π§ Created PR **#4144** (**merged**): `refactor(auth): move IsMalformedHeader from server to auth package` β partial closes #4138 - π¬ Commented on #4138: triaged refactoring analysis, prioritised 4 findings, noted PR for Issue 3 ### 2026-04-18 12:29 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24604679198) - π§ Created PR (**merged** #4085): `fix(rust-guard): eliminate scopes.clone() in label_agent + add DIFC_MODE constant` β closes #4008 - π§ Created PR (**merged** #4086): `build: add test-rust Makefile target and include Rust tests in agent-finished` - π¬ Commented on #4008: linking PR with fix details - π¬ Commented on #4039: already fixed by #4049 (Copilot PR), safe to close ### 2026-04-17 12:38 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24558457108) - π¬ Commented on #3932, #4008, #3987 ### 2026-04-16 12:41 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24510723428) - π§ Created PR (**merged** #3946): `fix(mcp): replace hardcoded 30s with defaultConnectTimeout constant` β closes #3933 - π§ Created PR (**merged** #3947): `test(mcp): add connect-timeout default behaviour tests` ### 2026-04-15 12:39 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24454920884) - π§ Created PR (**closed** #3847): `refactor(mcp): extract logInboundRPCResponse helper` β closes #3828 - π¬ Commented on #3828, #3834, #3829 - π·οΈ Labelled #3830 with `bug`; labelled #3802 with `needs triage` ### 2026-04-14 12:40 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24399350012) - π§ Created PR #3750 (**merged**): Replace manual inline truncation with `strutil.Truncate` / `sanitize.TruncateSecret` β `closes #3737` - π Created issue #3751 (**closed by maintainer**) ### 2026-04-13 12:42 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24343836907) - π§ Created PR #3701 (**merged**): Remove redundant `"none"` match arm and unused `MEDIUM_BUFFER_SIZE` β `closes #3691` - π¬ Commented on #3691, #3562, #3687 ### 2026-04-12 12:29 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24306753924) - π¬ Commented on #3618 - π§ Created PR #3640 (**merged**): Remove 5 redundant `log.Printf` calls from `connection.go` β `closes #3633` ### 2026-04-11 12:27 UTC β [Run](https://github.com/github/gh-aw-mcpg/actions/runs/24282446110) - π·οΈ Labelled #3550 with `automation`; labelled #3563 with `enhancement` - π¬ Commented on #3563 - π§ Created PR (**merged**): Add `strutil.TruncateRunes`, delegate `truncateForLog`, inline `lookupEnrichmentToken` alias ### Earlier runs - 2026-04-09: PRs (closed) β `httputil.WriteJSONResponse`, `InitGatewayLoggers`/`InitProxyLoggers` helpers - 2026-04-08: PR (closed) β `rust-guard-test` CI job - 2026-04-07: PR #3325 (closed) β Rust guard: `eq_ignore_ascii_case`, remove stale `#[allow(dead_code)]` - 2026-04-06: PR #3281 (closed) β three compliance fixes (#3272) - 2026-04-05: PR (closed) β move `ExpandEnvArgs` to `envutil` - 2026-04-04: PRs (closed) β `GenerateRandomAPIKey`, `test-race` target - 2026-04-03: PR (closed) β move `logRuntimeError`; commented on #3113 - 2026-04-02: PRs (closed) β `writeDIFCForbidden` helper, `GetEnvDuration` + session timeout - 2026-04-01: PR (closed) β remove `writeJSONResponse` passthrough; commented on #2988, #2909 > Generated by [Repo Assist](https://github.com/github/gh-aw-mcpg/actions/runs/24889914696/agentic_workflow) Β· β 1.6M Β· [β·](https://github.com/search?q=repo%3Agithub%2Fgh-aw-mcpg+is%3Aissue+%22gh-aw-workflow-call-id%3A+github%2Fgh-aw-mcpg%2Frepo-assist%22&type=issues) > > To install this [agentic workflow](https://github.com/githubnext/agentics/blob/851905c06e905bf362a9f6cc54f912e3df747d55/workflows/repo-assist.md), run > ``` > gh aw add githubnext/agentics/workflows/repo-assist.md@851905c06e905bf362a9f6cc54f912e3df747d55 > ``` <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, version: 1.0.21, model: auto, id: 24889914696, workflow_id: repo-assist, run: https://github.com/github/gh-aw-mcpg/actions/runs/24889914696 -->
π€ Repo Assist here β I'm an automated AI assistant for this repository.
Activity for April 2026
Suggested Actions for Maintainer
Comprehensive list of all pending actions requiring maintainer attention.
items_path.to_string()clone + testextract_items_arrayΒ #4463: Repo Assist verifieditems_path.to_string()clone fix andextract_items_arraytest gap β View(No open Repo Assist PRs at this time.)
Future Work for Repo Assist
sessionSuffixhelper tointernal/strutil(Issue 1 from [refactor] Semantic Function Clustering Analysis β Outliers and Duplicate PatternsΒ #4138)ParseErrortype assertion inconfig_core.go(LoadFromFile) β identified in [go-fan] Go Module Review: BurntSushi/tomlΒ #4328go-sdkfrom v1.5.0 β latest onceproxy.golang.orgis unblockeditems_path.to_string()clone + testextract_items_arrayΒ #4463: replace 3Γitems_path.to_string()with move + addextract_items_arraytestsGuard Filtering Summary
No objects were filtered by the guard policy.
Run History
2026-04-24 12:39 UTC β Run
automation(smoke test issues)items_path.to_string()clone + testextract_items_arrayΒ #4463: verifieditems_path.to_string()clone issue (3 sites confirmed) andextract_items_arrayzero-test coverage β both improvements accurate, recommended single PR2026-04-23 12:40 UTC β Run
perf(rust-guard): eliminate ctx.clone() and use &'static str in NormalizedPolicyβ closes [rust-guard] Rust Guard: Eliminate ctx.clone() in label_agent + NormalizedPolicy &'static str fieldsΒ #4380 (reorders integrity computation before set_runtime_policy_context to move ctx instead of clone; adds ScopeKind::as_str(); NormalizedPolicy fields β &'static str; 322/322 Rust tests pass)refactor(cmd): cobra UX improvements β NoArgs, MarkFlagFilename, preRun test fixβ relates to [go-fan] Go Module Review: spf13/cobraΒ #4379 (adds Args: cobra.NoArgs; replaces 4 verbose RegisterFlagCompletionFunc lambdas with MarkFlagFilename/MarkFlagDirname; fixes 9 fragile preRun(nil,nil) in tests)2026-04-22 12:40 UTC β Run
fix(rust-guard): remove write-only owner-type cache and simplify get_issue_author_associationβ closes [rust-guard] Rust Guard: Two dead-code / duplication fixes inbackend.rsΒ #4329 (deadrepo_owner_type_cacheremoved;get_issue_author_association_with_callbackreduced from 35 lines to 3-line delegate; 322/322 Rust tests pass)BuildMCPTextResponseininternal/mcp/tool_result.goand consolidating [duplicate-code] Duplicate Code Pattern: Raw MCP Text-Content Envelope ConstructionΒ #4326+[duplicate-code] Duplicate Code Pattern: Collaborator Permission Parse/Log/Wrap BlockΒ #4327 together (Copilot PR Deduplicate raw MCP text envelope construction with shared helperΒ #4352 merged this β resolved)2026-04-21 12:41 UTC β Run
refactor(rust-guard): extract is_any_trusted_actor helper and collapse URL fallback loopβ closes [rust-guard] Rust Guard: Extractis_any_trusted_actorhelper and collapse URL fallback loopΒ #4252 (three copy-pasted trust checks β helper; three URL-field if-let blocks β loop; 317/317 Rust tests pass)list_commitsnoneintegrity on personal repos; prioritised primary vs secondary vs tertiary fix approaches (issue closed by lpcox as completed)automation2026-04-20 12:43 UTC β Run
fix(server): migrate guard_init.go DIFC logs to structured loggerβ closes [duplicate-code] Duplicate Code Pattern: Repeated [DIFC]-prefixed log.Printf in guard_init.goΒ #4175refactor(proxy): replace manual guard policy validation with ParseGuardPolicyJSONβ closes [duplicate-code] Duplicate Code Pattern: Guard policy JSON parsing re-implemented in proxy.go initGuardPolicyΒ #41762026-04-19 12:29 UTC β Run
refactor(auth): move IsMalformedHeader from server to auth packageβ partial closes [refactor] Semantic Function Clustering Analysis β Outliers and Duplicate PatternsΒ #41382026-04-18 12:29 UTC β Run
fix(rust-guard): eliminate scopes.clone() in label_agent + add DIFC_MODE constantβ closes [rust-guard] Rust Guard: eliminate scopes.clone() in label_agent + named DIFC_MODE constantΒ #4008build: add test-rust Makefile target and include Rust tests in agent-finishedset_issue_fieldsto github-guard write classification and DIFC rulesΒ #4049 (Copilot PR), safe to close2026-04-17 12:38 UTC β Run
2026-04-16 12:41 UTC β Run
fix(mcp): replace hardcoded 30s with defaultConnectTimeout constantβ closes [duplicate-code] Duplicate Code Pattern: Hardcoded 30s connect timeout default duplicated in connection.goΒ #3933test(mcp): add connect-timeout default behaviour tests2026-04-15 12:39 UTC β Run
refactor(mcp): extract logInboundRPCResponse helperβ closes [duplicate-code] Duplicate Code Pattern: Repeated shouldAttachAgentTags Conditional Logging in connection.goΒ #3828bug; labelled Smoke Copilot - Issue GroupΒ #3802 withneeds triage2026-04-14 12:40 UTC β Run
strutil.Truncate/sanitize.TruncateSecretβcloses #37372026-04-13 12:42 UTC β Run
"none"match arm and unusedMEDIUM_BUFFER_SIZEβcloses #36912026-04-12 12:29 UTC β Run
log.Printfcalls fromconnection.goβcloses #36332026-04-11 12:27 UTC β Run
automation; labelled Copilot offline mode + BYOKΒ #3563 withenhancementstrutil.TruncateRunes, delegatetruncateForLog, inlinelookupEnrichmentTokenaliasEarlier runs
httputil.WriteJSONResponse,InitGatewayLoggers/InitProxyLoggershelpersrust-guard-testCI jobeq_ignore_ascii_case, remove stale#[allow(dead_code)]ExpandEnvArgstoenvutilGenerateRandomAPIKey,test-racetargetlogRuntimeError; commented on [refactor] Semantic Function Clustering: Refactoring Opportunities in Go Source FilesΒ #3113writeDIFCForbiddenhelper,GetEnvDuration+ session timeoutwriteJSONResponsepassthrough; commented on [compliance] Compliance Gap: Health Monitoring Missing Periodic Checks and Auto-Restart (Section 8)Β #2988, [duplicate-code] Duplicate Code Pattern: Boilerplate initGlobal*/closeGlobal* Logger WrappersΒ #2909