π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Apply patch manually** #618: same content as #617 duplicate protected-files notice for PR #511 branch push β [View](https://github.com/askpt/code-metrics/issues/618) * [ ] **Review PR**: refactor: extract magic number for config-change refresh delay (`repo-assist/improve-config-refresh-delay-constant-20260909`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor bump devDependencies from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-08 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34190157980) - π Rebased PR #511 onto latest main again (was behind after #616 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted per fallback table ### 2026-09-07 17:58 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34149628526) - π§ Created PR: docs: clarify `codeMetrics.excludePatterns` basename-vs-full-path glob matching semantics in README.md (undocumented gap found by explore agent), on branch `repo-assist/improve-doc-exclude-patterns-20260907` β this became protected-files issue #617 since it touches README.md - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam. All 4 open issues remain labelled (no unlabelled-issue work needed). ### 2026-09-07 05:18 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34086112634) - π§ Created PR: build: patch/minor bump devDependencies (`@types/node` 26.2.0->26.4.1, `@types/vscode` 1.106.0->1.136.0, `@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.69.0) not covered by open Dependabot PRs, on branch `repo-assist/eng-patch-deps-20260907`. compile/lint clean, `npm run test:unit` 244/244 passing, coverage 98.76/95.67/99.08/98.76 (thresholds met). `npm test` (full vscode-test) failed with known sandbox network restriction, unrelated to the change. - π¬ Reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34314467374). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34314467374, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34314467374 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Review PR**: docs: fix misleading analysisCache JSDoc comment (`repo-assist/improve-codelens-cache-comment-20260909`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: refactor: extract magic number for config-change refresh delay (`repo-assist/improve-config-refresh-delay-constant-20260909`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor bump devDependencies from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-09 16:56 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34379580332) - π Rebased PR #511 onto latest main again (was behind after `#621` config-refresh-delay-constant PR merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π·οΈ Task 1 (labelling): all 6 open issues already correctly labelled, no unlabelled-issue work found; substituted with Task 2 per fallback table - π Task 9 (testing): re-reviewed remaining uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer β all confirmed pre-existing documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new coverage gap; substituted with Task 5 per fallback table - π§ Created PR: docs: fix misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` that garbled cache-hit vs cache-invalidation behavior (found by explore agent), on branch `repo-assist/improve-codelens-cache-comment-20260909`, docs-only zero-risk change, 244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - β Noted issue #618 (protected-files duplicate notice) was closed by maintainer `@askpt` since last run β removed from suggested actions ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-08 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34190157980) - π Rebased PR #511 onto latest main again (was behind after #616 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted per fallback table ### 2026-09-07 17:58 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34149628526) - π§ Created PR: docs: clarify `codeMetrics.excludePatterns` basename-vs-full-path glob matching semantics in README.md (undocumented gap found by explore agent), on branch `repo-assist/improve-doc-exclude-patterns-20260907` β this became protected-files issue #617 since it touches README.md - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam. All 4 open issues remain labelled (no unlabelled-issue work needed).> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34379580332). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34379580332, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34379580332 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Review PR** #623: docs: fix misleading analysisCache JSDoc comment (`repo-assist/improve-codelens-cache-comment-20260909`) β [Review](https://github.com/askpt/code-metrics/pull/623) * [ ] **Review PR**: fix: freeze excludePatterns array returned by ConfigurationManager.get() (`repo-assist/improve-freeze-generic-get-excludepatterns-20260910`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor bump devDependencies from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) * [ ] **Check** #622: `[gh-aw] Protected Files` auto-generated notice for PR #511 branch push β protected-files notice, same recurring conflict pattern, can be closed once PR #511 merges β [View](https://github.com/askpt/code-metrics/issues/622) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-10 05:23 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34440706153) - π§ Created PR: fix: freeze `excludePatterns` array returned by `ConfigurationManager.get()` for consistency with `getConfiguration()`, closing a latent mutation-safety gap (found by explore agent), on branch `repo-assist/improve-freeze-generic-get-excludepatterns-20260910`, added a regression test, compile/lint clean (full `vscode-test` blocked by sandbox network as usual) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted new auto-generated notice issue #622 (protected-files, PR #511 push) added to suggested actions ### 2026-09-09 16:56 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34379580332) - π Rebased PR #511 onto latest main again (was behind after `#621` config-refresh-delay-constant PR merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π·οΈ Task 1 (labelling): all 6 open issues already correctly labelled, no unlabelled-issue work found; substituted with Task 2 per fallback table - π Task 9 (testing): re-reviewed remaining uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer β all confirmed pre-existing documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new coverage gap; substituted with Task 5 per fallback table - π§ Created PR #623: docs: fix misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` that garbled cache-hit vs cache-invalidation behavior (found by explore agent), on branch `repo-assist/improve-codelens-cache-comment-20260909`, docs-only zero-risk change, 244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - β Noted issue #618 (protected-files duplicate notice) was closed by maintainer `@askpt` since last run β removed from suggested actions ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-08 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34190157980) - π Rebased PR #511 onto latest main again (was behind after #616 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted per fallback table ### 2026-09-07 17:58 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34149628526) - π§ Created PR: docs: clarify `codeMetrics.excludePatterns` basename-vs-full-path glob matching semantics in README.md (undocumented gap found by explore agent), on branch `repo-assist/improve-doc-exclude-patterns-20260907` β this became protected-files issue #617 since it touches README.md - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam. All 4 open issues remain labelled (no unlabelled-issue work needed).> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34440706153). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34440706153, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34440706153 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Review PR** #623: docs: fix misleading analysisCache JSDoc comment (`repo-assist/improve-codelens-cache-comment-20260909`) β [Review](https://github.com/askpt/code-metrics/pull/623) * [ ] **Review PR** #624: fix: freeze excludePatterns array returned by ConfigurationManager.get() (human-authored, follows a Repo Assist finding) β [Review](https://github.com/askpt/code-metrics/pull/624) * [ ] **Review PR**: perf: use O(1) Set lookup for C# preprocessor node detection (`repo-assist/perf-preproc-type-set-20260910`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor bump devDependencies from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) * [ ] **Check** #622: `[gh-aw] Protected Files` auto-generated notice for PR #511 branch push β protected-files notice, same recurring conflict pattern, can be closed once PR #511 merges β [View](https://github.com/askpt/code-metrics/issues/622) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-10 16:43 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34503645354) - π§ Created PR: perf: replace per-node `startsWith("preproc_")` string-prefix check in `CSharpMetricsAnalyzer.visit()` (hottest per-node path in the C# analyzer) with an O(1) lookup against a new `PREPROC_TYPES: ReadonlySet<string>`, matching the existing `NESTING_TYPES`/`TYPE_DECLARATION_TYPES`/`FUNCTION_DECLARATION_TYPES` pattern in the same file, on branch `repo-assist/perf-preproc-type-set-20260910` β 244/244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds met) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted new human-authored PR #624 (freeze excludePatterns in `ConfigurationManager.get()`) added to suggested actions ### 2026-09-10 05:23 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34440706153) - π§ Created PR: fix: freeze `excludePatterns` array returned by `ConfigurationManager.get()` for consistency with `getConfiguration()`, closing a latent mutation-safety gap (found by explore agent), on branch `repo-assist/improve-freeze-generic-get-excludepatterns-20260910`, added a regression test, compile/lint clean (full `vscode-test` blocked by sandbox network as usual) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted new auto-generated notice issue #622 (protected-files, PR #511 push) added to suggested actions ### 2026-09-09 16:56 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34379580332) - π Rebased PR #511 onto latest main again (was behind after `#621` config-refresh-delay-constant PR merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π·οΈ Task 1 (labelling): all 6 open issues already correctly labelled, no unlabelled-issue work found; substituted with Task 2 per fallback table - π Task 9 (testing): re-reviewed remaining uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer β all confirmed pre-existing documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new coverage gap; substituted with Task 5 per fallback table - π§ Created PR #623: docs: fix misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` that garbled cache-hit vs cache-invalidation behavior (found by explore agent), on branch `repo-assist/improve-codelens-cache-comment-20260909`, docs-only zero-risk change, 244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - β Noted issue #618 (protected-files duplicate notice) was closed by maintainer `@askpt` since last run β removed from suggested actions ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-08 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34190157980) - π Rebased PR #511 onto latest main again (was behind after #616 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted per fallback table > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34503645354). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub>> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34503645354). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34503645354, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34503645354 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Review PR** #623: docs: fix misleading analysisCache JSDoc comment (`repo-assist/improve-codelens-cache-comment-20260909`) β [Review](https://github.com/askpt/code-metrics/pull/623) * [ ] **Review PR** #624: fix: freeze excludePatterns array returned by ConfigurationManager.get() (human-authored, follows a Repo Assist finding) β [Review](https://github.com/askpt/code-metrics/pull/624) * [ ] **Review PR** #625: perf: use O(1) Set lookup for C# preprocessor node detection (`repo-assist/perf-preproc-type-set-20260910`) β [Review](https://github.com/askpt/code-metrics/pull/625) * [ ] **Review PR**: build: bump `@types/vscode`, `@typescript-eslint/eslint-plugin`+`parser`, `eslint` (patch/minor, not covered by open Dependabot PRs) β [Review](https://github.com/askpt/code-metrics/pulls) (`repo-assist/eng-patch-deps-20260911`) * [ ] **Review PR**: build: patch/minor bump devDependencies from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β superseded by the newer 2026-09-11 bump to 8.70.0, can be closed once that merges β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) * [ ] **Check** #622: `[gh-aw] Protected Files` auto-generated notice for PR #511 branch push β protected-files notice, same recurring conflict pattern, can be closed once PR #511 merges β [View](https://github.com/askpt/code-metrics/issues/622) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-11 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34565454533) - π§ Created PR: build: bump `@types/vscode` 1.106.0β1.137.0, `@typescript-eslint/eslint-plugin`+`parser` 8.68.0β8.70.0, `eslint` 10.9.1β10.10.0 (patch/minor bumps not covered by any currently open Dependabot PR), on branch `repo-assist/eng-patch-deps-20260911` β 244/244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds met), `npm audit --omit=dev` clean - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted PR #614 (`@typescript-eslint/eslint-plugin` to 8.69.0) is now superseded by this run's bump to 8.70.0 ### 2026-09-10 16:43 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34503645354) - π§ Created PR: perf: replace per-node `startsWith("preproc_")` string-prefix check in `CSharpMetricsAnalyzer.visit()` (hottest per-node path in the C# analyzer) with an O(1) lookup against a new `PREPROC_TYPES: ReadonlySet`, matching the existing `NESTING_TYPES`/`TYPE_DECLARATION_TYPES`/`FUNCTION_DECLARATION_TYPES` pattern in the same file, on branch `repo-assist/perf-preproc-type-set-20260910` β 244/244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds met) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted new human-authored PR #624 (freeze excludePatterns in `ConfigurationManager.get()`) added to suggested actions ### 2026-09-10 05:23 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34440706153) - π§ Created PR: fix: freeze `excludePatterns` array returned by `ConfigurationManager.get()` for consistency with `getConfiguration()`, closing a latent mutation-safety gap (found by explore agent), on branch `repo-assist/improve-freeze-generic-get-excludepatterns-20260910`, added a regression test, compile/lint clean (full `vscode-test` blocked by sandbox network as usual) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no fixable bugs this run - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π Noted new auto-generated notice issue #622 (protected-files, PR #511 push) added to suggested actions ### 2026-09-09 16:56 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34379580332) - π Rebased PR #511 onto latest main again (was behind after `#621` config-refresh-delay-constant PR merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π·οΈ Task 1 (labelling): all 6 open issues already correctly labelled, no unlabelled-issue work found; substituted with Task 2 per fallback table - π Task 9 (testing): re-reviewed remaining uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer β all confirmed pre-existing documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new coverage gap; substituted with Task 5 per fallback table - π§ Created PR #623: docs: fix misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` that garbled cache-hit vs cache-invalidation behavior (found by explore agent), on branch `repo-assist/improve-codelens-cache-comment-20260909`, docs-only zero-risk change, 244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - β Noted issue #618 (protected-files duplicate notice) was closed by maintainer `@askpt` since last run β removed from suggested actions ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34565454533). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub>> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34565454533). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34565454533, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34565454533 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Review PR** #625: perf: use O(1) Set lookup for C# preprocessor node detection β [Review](https://github.com/askpt/code-metrics/pull/625) * [ ] **Review PR** #623: docs: fix misleading analysisCache JSDoc comment β [Review](https://github.com/askpt/code-metrics/pull/623) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-11 16:48 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34623917191) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted; PR #511 rebase counted as Task 10 forward progress ### 2026-09-11 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34565454533) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No fixable bugs found beyond the 3 protected-files-blocked feature requests - π§ Applied patch/minor dev dependency bumps (`@types/vscode` 1.106.0->1.137.0, `@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0) not covered by open Dependabot PRs, 244 tests passing, coverage thresholds met, PR created on branch `repo-assist/eng-patch-deps-20260911` - π Confirmed issue #619 (`[aw] Repo Assist failed`) as system-generated failure notice, not actionable content, left alone per convention ### 2026-09-10 16:52 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34503645354) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No fixable bugs found beyond the 3 protected-files-blocked feature requests - π§ Found perf opportunity in `csharpAnalyzer.ts` `visit()` hot path: replaced `node.type.startsWith("preproc_")` prefix scan with an O(1) `PREPROC_TYPES` Set lookup, matching existing `NESTING_TYPES`/`TYPE_DECLARATION_TYPES` pattern; 244 tests passing, PR created (`repo-assist/perf-preproc-type-set-20260910`) - π Noted new open PR #624 (fix: freeze excludePatterns, human-authored based on prior Repo Assist suggestion)> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34623917191). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34623917191, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34623917191 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, kept rebased onto main) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #625: perf: use O(1) Set lookup for C# preprocessor node detection β [Review](https://github.com/askpt/code-metrics/pull/625) * [ ] **Review PR** #624: fix: freeze excludePatterns array returned by ConfigurationManager.get() (human-authored) β [Review](https://github.com/askpt/code-metrics/pull/624) * [ ] **Review PR** #623: docs: fix misleading analysisCache JSDoc comment β [Review](https://github.com/askpt/code-metrics/pull/623) * [ ] **Review PR**: build: bump dev dependencies to latest patch versions (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), created this run on branch `repo-assist/eng-patch-deps-20260912` β supersedes #614 once merged * [ ] **Review/close PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β superseded by this run's dep-bump PR (goes to 8.70.0) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Apply patch manually** #617: docs: clarify excludePatterns basename vs full-path matching semantics β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/617) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #619: `[aw] Repo Assist failed` auto-generated failure notice β verify underlying run issue is resolved, close if stale β [View](https://github.com/askpt/code-metrics/issues/619) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-12 05:10 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34674817935) - π§ Applied patch/minor dev dependency bumps (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1) not covered by any open Dependabot PR, pinned exact versions matching repo convention; compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), `npm audit --omit=dev` clean; PR created on branch `repo-assist/eng-patch-deps-20260912` (Task 4) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam (Task 2) - π Reviewed codebase (configuration.ts, codeLensProvider.ts, extension.ts, metricsAnalyzerFactory.ts) for low-risk improvements β codebase confirmed already heavily optimized from many prior passes, no new candidate found this run (Task 5) ### 2026-09-11 16:48 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34623917191) - π Rebased PR #511 onto latest main again, resolved the same recurring conflicts in `.c8rc.json` and `src/extension.ts`, compile/lint clean, 244 tests passing, coverage thresholds met, pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found; Task 3 substituted; PR #511 rebase counted as Task 10 forward progress ### 2026-09-11 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34565454533) - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam - π§ Applied patch/minor dev dependency bumps not covered by open Dependabot PRs, PR created on branch `repo-assist/eng-patch-deps-20260911` - π Confirmed issue #619 (`[aw] Repo Assist failed`) as system-generated failure notice, left alone per convention ### 2026-09-10 16:52 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34503645354) - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam - π§ Found perf opportunity in `csharpAnalyzer.ts` `visit()` hot path: O(1) `PREPROC_TYPES` Set lookup replacing `startsWith` scan; PR created (`repo-assist/perf-preproc-type-set-20260910`) - π Noted new open PR #624 (fix: freeze excludePatterns, human-authored based on prior Repo Assist suggestion)> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34674817935). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34674817935, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34674817935 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, kept rebased onto main by Repo Assist) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β now superseded by today's PR bumping to 8.70.0, safe to close once the new PR merges β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Review PR** (new, this run): build(deps-dev): patch/minor bump `@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1 β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **β οΈ Likely close, don't merge** (new, this run): perf: use O(1) Set lookup for C# preprocessor directive detection in `visit()` β **this duplicates the exact change already proposed and closed unmerged as PR #625** (2026-09-10). #625 was closed after hitting a build failure post-merge-conflict, and the fix applied there (`7c5d128`) deliberately reverted to `startsWith` and removed the `PREPROC_TYPES` constant rather than re-fixing it β Repo Assist did not have this history available before proposing it again this run. Recommend closing the new PR unless the maintainer wants to retry the same optimization with a cleaner rebase β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (imminent), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring `npm outdated`/`npm audit` for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing); #402's artifact expires imminently (~2026-09-20). ## Run History ### 2026-09-12 15:53 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build(deps-dev) patch/minor bump (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), not covered by open Dependabot PR #614 (only reaches 8.69.0); compile/lint clean, 244/244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), `npm audit --omit=dev` clean - β οΈ Created PR (recommend closing): perf: O(1) `Set.has()` lookup for C# preprocessor detection in `visit()` β after creating this, discovered it duplicates PR #625 (closed 2026-09-12, unmerged) which attempted the identical fix; #625 hit a build failure after a conflicting rebase and Copilot's follow-up fix reverted the change back to `startsWith` rather than repairing it. This run's version compiles/lints/tests cleanly (244/244 passing) but the maintainer may prefer to consolidate rather than have two attempts at the same change β flagged for maintainer decision instead of re-closing unilaterally - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π§Ή Verified stale `eng-patch-deps-20260906/07/09/11` branches never had PRs opened (superseded by later runs / merged dep bumps like #621); removed from suggested actions - Both PRs verified: `npm run compile`, `npm run lint`, `npm run test:unit` all clean; full `vscode-test` blocked by sandbox network (`getaddrinfo EAI_AGAIN update.code.visualstudio.com`), a known pre-existing limitation ### 2026-09-11 (two runs) β Tasks 2/4/3 and 3/6/10 - π§ Created PR: patch/minor dep bumps (`@types/vscode` 1.106.0->1.137.0, `@typescript-eslint`+parser 8.68.0->8.70.0, `eslint` 10.10.0), 244 tests passing - π Rebased PR #511 onto latest main again, resolved recurring conflicts in `.c8rc.json` and `src/extension.ts`, 244 tests passing, pushed - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting ### 2026-09-10 (two runs) β Tasks 1/9/6 and 2/3/8 - π Rebased PR #511 onto latest main (behind after #621 merged), resolved recurring conflicts, 244 tests passing, pushed - π§ Created PR: docs fix for misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` (merged as #623) - π§ Created PR #625: perf: O(1) Set lookup for C# preprocessor node detection in `visit()` β later closed unmerged (2026-09-12) after a post-rebase build failure; see 2026-09-12 entry above - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting *(Older run history trimmed to keep this issue within size limits β see prior editions of this issue for full detail.)*> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34703470528). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34703470528, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34703470528 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR**: fix: validate that complexity thresholds are positive numbers (`repo-assist/improve-validate-threshold-positivity-20260913`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor devDependency bumps from 2026-09-13 run (`repo-assist/eng-patch-deps-20260913`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-13 05:34 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34740200743) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Task 9 (testing): reviewed all previously-flagged uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer again β all remain documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new gap found; substituted with Task 5 per fallback table - π§ Created PR: fix: validate that complexity thresholds are positive numbers in `ConfigurationManager.validateConfiguration()` β closes a gap where non-positive thresholds set outside the Settings UI (e.g. directly in settings.json) passed validation silently (`repo-assist/improve-validate-threshold-positivity-20260913`), added regression test, 244 unit tests passing - π§ Created PR: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), 244 tests passing, npm audit --omit=dev clean (`repo-assist/eng-patch-deps-20260913`) - π Noted: issues #617/#618/#619 (protected-files/failure notices) and PRs from `repo-assist/eng-patch-deps-20260907`/`-20260906`/`improve-config-refresh-delay-constant-20260909` branches are now closed/merged/superseded (config-refresh-delay landed as PR #621) β removed from suggested actions ### 2026-09-12 05:xx UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build: patch/minor dev-dependency bumps not covered by Dependabot PR #614 (typescript-eslint eslint-plugin+parser 8.68.0->8.70.0, eslint 10.9.1->10.10.0, mocha 12.0.0->12.0.1), 244 tests passing (`repo-assist/eng-patch-deps-20260912-2`) - π§ Created PR #630 (merged): perf: O(1) `PREPROC_TYPES` Set lookup replacing `node.type.startsWith("preproc_")` in csharpAnalyzer.ts hot traversal loop, 244/244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34740200743). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34740200743, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34740200743 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, kept rebased onto main by Repo Assist) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #632: fix: validate that complexity thresholds are positive numbers β [Review](https://github.com/askpt/code-metrics/pull/632) * [ ] **Review PR** (new, this run): fix: dispose CodeLens provider event emitter on deactivation β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β superseded by Repo Assist's later patch/minor bumps to 8.70.0, safe to close once those merge β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review PR**: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`repo-assist/eng-patch-deps-20260913`) β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (imminent), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring `npm outdated`/`npm audit` for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action; #402's artifact expires imminently (~2026-09-20). ## Run History ### 2026-09-13 16:41 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34769211989) - π§ Created PR: fix: dispose CodeLens provider event emitter on deactivation β `MetricsCodeLensProvider` never disposed its `onDidChangeCodeLenses` EventEmitter nor included the provider in the returned `Disposable.from(...)` bundle, leaking it on extension deactivation (`repo-assist/fix-codelens-provider-dispose-20260913`), compile/lint clean, 244 tests passing, coverage unchanged (98.76/95.67/99.08/98.76) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Investigated Task 8 (performance) across all language analyzers and shared helpers β every candidate category (O(1) Set/type lookups, allocation elimination in hot loops, singleton reuse, field-lookup caching, operator-chain dedup) has already been addressed by prior merged PRs; no new non-duplicate opportunity found, substituted with Task 5 per fallback table - π Rewrote this issue body from scratch β prior editions had accumulated multiple appended full copies instead of being replaced in place, causing unbounded growth; consolidated to a single clean copy per the required format ### 2026-09-13 05:34 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34740200743) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Task 9 (testing): reviewed all previously-flagged uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer again β all remain documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new gap found; substituted with Task 5 per fallback table - π§ Created PR #632: fix: validate that complexity thresholds are positive numbers in `ConfigurationManager.validateConfiguration()` β closes a gap where non-positive thresholds set outside the Settings UI passed validation silently, added regression test, 244 unit tests passing - π§ Created PR: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), 244 tests passing, npm audit --omit=dev clean (`repo-assist/eng-patch-deps-20260913`) - π Noted issues #617/#618/#619 (protected-files/failure notices) and PRs from `repo-assist/eng-patch-deps-20260907`/`-20260906`/`improve-config-refresh-delay-constant-20260909` branches are now closed/merged/superseded (config-refresh-delay landed as PR #621) β removed from suggested actions ### 2026-09-12 15:53 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build(deps-dev) patch/minor bump (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), not covered by open Dependabot PR #614; compile/lint clean, 244/244 tests passing - β οΈ Created a perf PR that duplicated closed/unmerged PR #625 (O(1) Set lookup for C# preprocessor detection) β flagged for maintainer decision instead of unilaterally closing; superseded by merged PR #630 - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam ### 2026-09-12 05:10 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34674817935) - π§ Created PR #630 (merged): perf: O(1) `PREPROC_TYPES` Set lookup replacing `node.type.startsWith("preproc_")` in csharpAnalyzer.ts hot traversal loop, 244/244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam *(Older run history trimmed to keep this issue within size limits β see issue edit history for full detail.)* > Generated by π Repo Assist. [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub>> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34769211989). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34769211989, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34769211989 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review/merge PR** #634: fix: dispose CodeLens provider event emitter on deactivation β [Review](https://github.com/askpt/code-metrics/pull/634) * [ ] **Review/merge PR** #632: fix: validate that complexity thresholds are positive numbers β [Review](https://github.com/askpt/code-metrics/pull/632) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Review PR** (new): test: cover fragmented ternary sibling-colon scan in csharpAnalyzer (`repo-assist/test-csharp-fragmented-ternary-sibling-20260914`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-14 05:31 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34809783115) - π Task 9 (testing): found `CSharpMetricsAnalyzer.hasMatchingColonInSiblings()` in `csharpAnalyzer.ts` had 0% function coverage (confirmed via `coverage-final.json`). Verified with ad-hoc tree-sitter parsing + temporary instrumentation that a ternary split across `#if/#elif/#else` branches (`?` alone in one ERROR node, matching `:` in a sibling up to 2 steps away) reaches and returns `true` from this method. Added a targeted unit test; 245 tests passing (was 244), function coverage now 100% (was 99.08%), branch coverage 95.52% (thresholds 95/88/97/95 all met). Created draft PR on branch `repo-assist/test-csharp-fragmented-ternary-sibling-20260914`. - π¬ Task 2: reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam. - π Task 3: no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests; not actionable this run. - π Task 11: confirmed issues #617/#618/#619 (protected-files/failure notices) are now closed and removed from suggested actions; confirmed `repo-assist/eng-patch-deps-20260906`/`-20260907` and `repo-assist/improve-config-refresh-delay-constant-20260909` branches never produced or no longer have open PRs (config-refresh-delay merged separately as #621) β removed stale suggested-action lines referencing them. ### 2026-09-13 (3rd run) β [Run](https://github.com/askpt/code-metrics/actions/runs/34769211989) - π Task 8: explore agent confirmed all perf categories (O(1) lookups, allocation elimination, singleton reuse, field-lookup caching, operator-chain dedup) already addressed by prior merged PRs across all analyzer files; no new non-duplicate opportunity, substituted with Task 5 per fallback table. - π§ Task 5 (substituted): found `MetricsCodeLensProvider` never disposed its `onDidChangeCodeLenses` EventEmitter and never included itself in the returned `Disposable.from(...)` bundle β genuine resource-cleanup gap. Added `dispose()` + included provider in disposable bundle. 244 tests passing. Created PR #634. - π¬ Task 2: reviewed #353/#402/#508 again, no new human activity, skipped commenting. - π Task 3: no fixable bug/help-wanted/good-first-issue issues found. ### 2026-09-13 (2nd run) β [Run](https://github.com/askpt/code-metrics/actions/runs/34740200743) - π Task 9 (substituted with Task 5): explore agent found `ConfigurationManager.validateConfiguration()` only checked relative threshold ordering, never validated either threshold was a sane positive number (package.json declares `minimum: 1` but only enforced by Settings UI). Added positivity/finiteness checks + regression test, 244 tests passing. Created PR #632. - π§ Task 4: applied patch/minor dev bumps not covered by open Dependabot PR #614 (typescript-eslint 8.68.0->8.70.0, eslint 10.9.1->10.10.0, mocha 12.0.0->12.0.1), 244 tests passing, npm audit clean. PR created on branch `repo-assist/eng-patch-deps-20260913`. - π¬ Task 2: reviewed #353/#402/#508, no new human activity, skipped commenting. ### 2026-09-12 05:10 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34674817935) - π§ Applied patch/minor dev dependency bumps (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1) not covered by any open Dependabot PR, pinned exact versions matching repo convention; compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), `npm audit --omit=dev` clean; PR created on branch `repo-assist/eng-patch-deps-20260912` (Task 4) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam (Task 2) - π Reviewed codebase (configuration.ts, codeLensProvider.ts, extension.ts, metricsAnalyzerFactory.ts) for low-risk improvements β codebase confirmed already heavily optimized from many prior passes, no new candidate found this run (Task 5) ### 2026-09-11 16:48 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34623917191) - π Rebased PR #511 onto latest main again, resolved the same recurring conflicts in `.c8rc.json` and `src/extension.ts`, compile/lint clean, 244 tests passing, coverage thresholds met, pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found; Task 3 substituted; PR #511 rebase counted as Task 10 forward progress ### 2026-09-11 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34565454533) - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam - π§ Applied patch/minor dev dependency bumps not covered by open Dependabot PRs, PR created on branch `repo-assist/eng-patch-deps-20260911` - π Confirmed issue #619 (`[aw] Repo Assist failed`) as system-generated failure notice, left alone per convention ### 2026-09-10 16:52 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34503645354) - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam - π§ Found perf opportunity in `csharpAnalyzer.ts` `visit()` hot path: O(1) `PREPROC_TYPES` Set lookup replacing `startsWith` scan; PR created (`repo-assist/perf-preproc-type-set-20260910`) - π Noted new open PR #624 (fix: freeze excludePatterns, human-authored based on prior Repo Assist suggestion)> [!WARNING] > > Firewall blocked 1 domain > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34674817935). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <sub>Add this agentic workflow to your repo</sub> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, kept rebased onto main by Repo Assist) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β now superseded by today's PR bumping to 8.70.0, safe to close once the new PR merges β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Review PR** (new, this run): build(deps-dev): patch/minor bump `@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1 β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **β οΈ Likely close, don't merge** (new, this run): perf: use O(1) Set lookup for C# preprocessor directive detection in `visit()` β **this duplicates the exact change already proposed and closed unmerged as PR #625** (2026-09-10). #625 was closed after hitting a build failure post-merge-conflict, and the fix applied there (`7c5d128`) deliberately reverted to `startsWith` and removed the `PREPROC_TYPES` constant rather than re-fixing it β Repo Assist did not have this history available before proposing it again this run. Recommend closing the new PR unless the maintainer wants to retry the same optimization with a cleaner rebase β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (imminent), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring `npm outdated`/`npm audit` for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing); #402's artifact expires imminently (~2026-09-20). ## Run History ### 2026-09-12 15:53 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build(deps-dev) patch/minor bump (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), not covered by open Dependabot PR #614 (only reaches 8.69.0); compile/lint clean, 244/244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), `npm audit --omit=dev` clean - β οΈ Created PR (recommend closing): perf: O(1) `Set.has()` lookup for C# preprocessor detection in `visit()` β after creating this, discovered it duplicates PR #625 (closed 2026-09-12, unmerged) which attempted the identical fix; #625 hit a build failure after a conflicting rebase and Copilot's follow-up fix reverted the change back to `startsWith` rather than repairing it. This run's version compiles/lints/tests cleanly (244/244 passing) but the maintainer may prefer to consolidate rather than have two attempts at the same change β flagged for maintainer decision instead of re-closing unilaterally - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π§Ή Verified stale `eng-patch-deps-20260906/07/09/11` branches never had PRs opened (superseded by later runs / merged dep bumps like #621); removed from suggested actions - Both PRs verified: `npm run compile`, `npm run lint`, `npm run test:unit` all clean; full `vscode-test` blocked by sandbox network (`getaddrinfo EAI_AGAIN update.code.visualstudio.com`), a known pre-existing limitation ### 2026-09-11 (two runs) β Tasks 2/4/3 and 3/6/10 - π§ Created PR: patch/minor dep bumps (`@types/vscode` 1.106.0->1.137.0, `@typescript-eslint`+parser 8.68.0->8.70.0, `eslint` 10.10.0), 244 tests passing - π Rebased PR #511 onto latest main again, resolved recurring conflicts in `.c8rc.json` and `src/extension.ts`, 244 tests passing, pushed - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting ### 2026-09-10 (two runs) β Tasks 1/9/6 and 2/3/8 - π Rebased PR #511 onto latest main (behind after #621 merged), resolved recurring conflicts, 244 tests passing, pushed - π§ Created PR: docs fix for misleading `analysisCache` JSDoc comment in `codeLensProvider.ts` (merged as #623) - π§ Created PR #625: perf: O(1) Set lookup for C# preprocessor node detection in `visit()` β later closed unmerged (2026-09-12) after a post-rebase build failure; see 2026-09-12 entry above - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting *(Older run history trimmed to keep this issue within size limits β see prior editions of this issue for full detail.)*> [!WARNING] > > Firewall blocked 1 domain > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34703470528). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <sub>Add this agentic workflow to your repo</sub> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 244 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR**: fix: validate that complexity thresholds are positive numbers (`repo-assist/improve-validate-threshold-positivity-20260913`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build: patch/minor devDependency bumps from 2026-09-13 run (`repo-assist/eng-patch-deps-20260913`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-13 05:34 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34740200743) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Task 9 (testing): reviewed all previously-flagged uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer again β all remain documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new gap found; substituted with Task 5 per fallback table - π§ Created PR: fix: validate that complexity thresholds are positive numbers in `ConfigurationManager.validateConfiguration()` β closes a gap where non-positive thresholds set outside the Settings UI (e.g. directly in settings.json) passed validation silently (`repo-assist/improve-validate-threshold-positivity-20260913`), added regression test, 244 unit tests passing - π§ Created PR: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), 244 tests passing, npm audit --omit=dev clean (`repo-assist/eng-patch-deps-20260913`) - π Noted: issues #617/#618/#619 (protected-files/failure notices) and PRs from `repo-assist/eng-patch-deps-20260907`/`-20260906`/`improve-config-refresh-delay-constant-20260909` branches are now closed/merged/superseded (config-refresh-delay landed as PR #621) β removed from suggested actions ### 2026-09-12 05:xx UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build: patch/minor dev-dependency bumps not covered by Dependabot PR #614 (typescript-eslint eslint-plugin+parser 8.68.0->8.70.0, eslint 10.9.1->10.10.0, mocha 12.0.0->12.0.1), 244 tests passing (`repo-assist/eng-patch-deps-20260912-2`) - π§ Created PR #630 (merged): perf: O(1) `PREPROC_TYPES` Set lookup replacing `node.type.startsWith("preproc_")` in csharpAnalyzer.ts hot traversal loop, 244/244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam> [!WARNING] > > Firewall blocked 1 domain > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34740200743). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <sub>Add this agentic workflow to your repo</sub> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, kept rebased onto main by Repo Assist) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #632: fix: validate that complexity thresholds are positive numbers β [Review](https://github.com/askpt/code-metrics/pull/632) * [ ] **Review PR** (new, this run): fix: dispose CodeLens provider event emitter on deactivation β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #614: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.69.0 (Dependabot) β superseded by Repo Assist's later patch/minor bumps to 8.70.0, safe to close once those merge β [Review](https://github.com/askpt/code-metrics/pull/614) * [ ] **Review PR**: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`repo-assist/eng-patch-deps-20260913`) β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (imminent), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring `npm outdated`/`npm audit` for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action; #402's artifact expires imminently (~2026-09-20). ## Run History ### 2026-09-13 16:41 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34769211989) - π§ Created PR: fix: dispose CodeLens provider event emitter on deactivation β `MetricsCodeLensProvider` never disposed its `onDidChangeCodeLenses` EventEmitter nor included the provider in the returned `Disposable.from(...)` bundle, leaking it on extension deactivation (`repo-assist/fix-codelens-provider-dispose-20260913`), compile/lint clean, 244 tests passing, coverage unchanged (98.76/95.67/99.08/98.76) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Investigated Task 8 (performance) across all language analyzers and shared helpers β every candidate category (O(1) Set/type lookups, allocation elimination in hot loops, singleton reuse, field-lookup caching, operator-chain dedup) has already been addressed by prior merged PRs; no new non-duplicate opportunity found, substituted with Task 5 per fallback table - π Rewrote this issue body from scratch β prior editions had accumulated multiple appended full copies instead of being replaced in place, causing unbounded growth; consolidated to a single clean copy per the required format ### 2026-09-13 05:34 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34740200743) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Task 9 (testing): reviewed all previously-flagged uncovered lines across csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer again β all remain documented `/* c8 ignore */` unreachable defensive fallbacks, no genuine new gap found; substituted with Task 5 per fallback table - π§ Created PR #632: fix: validate that complexity thresholds are positive numbers in `ConfigurationManager.validateConfiguration()` β closes a gap where non-positive thresholds set outside the Settings UI passed validation silently, added regression test, 244 unit tests passing - π§ Created PR: build: patch/minor devDependency bumps not covered by open Dependabot PRs (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), 244 tests passing, npm audit --omit=dev clean (`repo-assist/eng-patch-deps-20260913`) - π Noted issues #617/#618/#619 (protected-files/failure notices) and PRs from `repo-assist/eng-patch-deps-20260907`/`-20260906`/`improve-config-refresh-delay-constant-20260909` branches are now closed/merged/superseded (config-refresh-delay landed as PR #621) β removed from suggested actions ### 2026-09-12 15:53 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34703470528) - π§ Created PR: build(deps-dev) patch/minor bump (`@typescript-eslint/eslint-plugin`+`parser` 8.68.0->8.70.0, `eslint` 10.9.1->10.10.0, `mocha` 12.0.0->12.0.1), not covered by open Dependabot PR #614; compile/lint clean, 244/244 tests passing - β οΈ Created a perf PR that duplicated closed/unmerged PR #625 (O(1) Set lookup for C# preprocessor detection) β flagged for maintainer decision instead of unilaterally closing; superseded by merged PR #630 - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam ### 2026-09-12 05:10 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34674817935) - π§ Created PR #630 (merged): perf: O(1) `PREPROC_TYPES` Set lookup replacing `node.type.startsWith("preproc_")` in csharpAnalyzer.ts hot traversal loop, 244/244 tests passing - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting to avoid spam *(Older run history trimmed to keep this issue within size limits β see issue edit history for full detail.)* > Generated by π Repo Assist. [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub>> [!WARNING] > > Firewall blocked 1 domain > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34769211989). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <sub>Add this agentic workflow to your repo</sub> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ```> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34809783115). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34809783115, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34809783115 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main, 244+ tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Review PR**: test: cover unlabeled nested break/continue reason strings in goAnalyzer (`repo-assist/test-go-unlabeled-break-continue-20260914`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build(deps-dev): bump mocha 12.0.0 -> 12.0.1, protected-files fallback since it touches package.json (`repo-assist/eng-patch-mocha-20260914`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-14 (2nd) 18:15 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34879366132) - π§ Created PR: test: cover unlabeled nested break/continue reason strings in goAnalyzer (`repo-assist/test-go-unlabeled-break-continue-20260914`) β found genuinely untested branches (unlabeled-but-nested break/continue reason strings + increments), 247 tests passing (was 245), goAnalyzer branch coverage 95.27%->96% - π§ Created PR: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260914`) β patch bump not covered by any open Dependabot PR, compile/lint clean, 245 tests passing - π Task 3: no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests (#353/#402/#508); not actionable this run - π§Ή Cleaned up stale suggested-action lines: PR #614 merged/closed, issues #617/#618/#619 closed, and branches `repo-assist/improve-config-refresh-delay-constant-20260909`/`repo-assist/eng-patch-deps-20260907`/`repo-assist/eng-patch-deps-20260906` have no open PRs (already landed or closed separately) ### 2026-09-14 run: Tasks 2/9/3 selected. Task 2: reviewed #353/#402/#508 again, no new human activity since last comments, skipped commenting to avoid spam. Task 9: found genuine 0%-covered function CSharpMetricsAnalyzer.hasMatchingColonInSiblings() (csharpAnalyzer.ts:671) via coverage-final.json fnMap inspection -- this is the sibling-colon-scan heuristic for ternaries fragmented by preprocessor directives, never previously targeted despite several rounds of csharpAnalyzer coverage work. Added one test; 245 tests passing (was 244), coverage 99.12/95.52/100/99.12 (funcs 99.08%->100%). Draft PR created on branch repo-assist/test-csharp-fragmented-ternary-sibling-20260914. Task 3: no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests; not actionable, substituted was not needed since Task 9 succeeded. ### 2026-09-13 (3rd run) run: Tasks 8/2/3 selected. Task 8: explore agent confirmed all perf categories already addressed by prior merged PRs across all analyzer files; no new non-duplicate opportunity, substituted with Task 5. Task 5 (substituted): found MetricsCodeLensProvider never disposed its onDidChangeCodeLenses EventEmitter and never included itself in the returned Disposable.from(...) bundle in registerCodeLensProvider() - added dispose() method + included provider in disposable bundle. compile/lint clean, 244 tests passing. PR created on branch repo-assist/fix-codelens-provider-dispose-20260913. Task 2: reviewed #353/#402/#508 again, no new human activity since last comments, skipped commenting to avoid spam. Task 3: no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests; not applicable.> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34879366132). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34879366132, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34879366132 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 245 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #643: test: cover unlabeled nested break/continue reason strings in goAnalyzer β [Review](https://github.com/askpt/code-metrics/pull/643) * [ ] **Review PR** (new this run): test: cover C# top-level (unnested) lambda/anonymous-method and continue/break branches (branch `repo-assist/test-csharp-toplevel-nesting-branches-20260915`) β [Pulls](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-15 05:28 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34932720528) - π§ Created PR: test: cover C# top-level (unnested) lambda/anonymous-method and continue/break branches (branch `repo-assist/test-csharp-toplevel-nesting-branches-20260915`) β found 2 genuinely uncovered ternary branches in `csharpAnalyzer.ts`'s `getComplexityIncrement()` (lines 557/562, `nesting > 0 ? ... : 0` for lambda/anonymous-method and continue/break) via fresh `coverage-final.json` branch inspection; 247 tests passing (was 245), csharpAnalyzer branch coverage 90.29%β91.91%, overall branches 95.52%β95.87% - π Rebased PR #511 onto latest main again (was 2 commits behind), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` into same subscriptions.push), compile/lint clean, 245 tests passing, coverage 99.12/95.52/100/99.12 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests) - β Confirmed issues #617/#618/#619 and PR #614 are closed; confirmed branches `repo-assist/improve-config-refresh-delay-constant-20260909`, `repo-assist/eng-patch-deps-20260907`, `repo-assist/eng-patch-deps-20260906` have no open PRs β removed stale suggested-action lines referencing them ### 2026-09-14 (2nd) run β [Run](https://github.com/askpt/code-metrics/actions/runs/34917964063) - π§ Created PR: bumped mocha 12.0.0->12.0.1 (patch), branch `repo-assist/eng-patch-mocha-20260914` - π§ Created PR #643: test: cover unlabeled nested break/continue reason strings in goAnalyzer (goAnalyzer branch coverage 95.27%->96%) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting - β Verified PR #614 merged/closed, issues #617/#618/#619 closed; added #640 to suggested actions ### 2026-09-14 run β [Run](https://github.com/askpt/code-metrics/actions/runs/34903212233) - π§ Created draft PR: test: cover fragmented ternary sibling-colon scan in csharpAnalyzer (merged as #635) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/34932720528). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 34932720528, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/34932720528 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 249 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR**: test: cover csharpAnalyzer ternary lone-question-mark false path (branch `repo-assist/test-csharp-lone-question-mark-20260915`, created this run) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (in ~5 days), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 as patch artifacts expire without maintainer action (may need regeneration or closing); #402's artifact is due to expire ~2026-09-20. ## Run History ### 2026-09-15 17:20 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35000406085) - π Rebased PR #511 onto latest main again (was behind), resolved the recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` subscriptions), compile/lint clean, 249 tests passing, coverage 99.12/96.04/100/99.12 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Commented on #402: flagged that its Kotlin patch artifact expires ~2026-09-20 (in ~5 days), recommending the maintainer apply it now via `git am --3way` before it's lost - π Reviewed #353/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π§ͺ Task 8 (performance): used an explore agent for a fresh full-codebase perf pass β no genuine new optimization opportunity found (codebase already heavily optimized from ~40 prior perf/refactor PRs); substituted with Task 9 per fallback table - π§ Created PR: test: cover previously-uncovered `hasMatchingColonInSiblings()` false-path (lone `?` preprocessor fragment with no matching `:` within 2 siblings) in `csharpAnalyzer.ts`, on branch `repo-assist/test-csharp-lone-question-mark-20260915`; 250 tests passing (was 249), `csharpAnalyzer.ts` branch coverage 91.91% β 92.75% - β Confirmed issues #617/#618/#619/#614 all closed by maintainer since last run, removed from suggested actions ### 2026-09-15 (earlier) β [Run](https://github.com/askpt/code-metrics/actions/runs/34991701803) - π§ͺ Task 9: added 2 tests covering uncovered ternary branches in `csharpAnalyzer.ts` `getComplexityIncrement()` (top-level lambda/anonymous-method and continue/break nesting), 247 tests passing, PR created (`repo-assist/test-csharp-toplevel-nesting-branches-20260915`) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting - π Rebased PR #511 onto latest main, resolved recurring `.c8rc.json`/`src/extension.ts` conflicts, 245 tests passing, pushed via push_to_pull_request_branch ### 2026-09-12 (2nd run) β [Run](https://github.com/askpt/code-metrics/actions/runs/34870000000) - π§ Created PR: build patch/minor dev dependency bumps (`@typescript-eslint` 8.70.0, eslint 10.10.0, mocha 12.0.1), on branch `repo-assist/eng-patch-deps-20260912-2` - π§ Created PR: perf preproc Set lookup in csharpAnalyzer.ts (duplicate of previously closed-unmerged PR #625, flagged for maintainer awareness) - π¬ Reviewed #353/#402/#508, no new human activity, skipped commenting ### 2026-09-12 β [Run](https://github.com/askpt/code-metrics/actions/runs/34850000000) - π§ Created PR: build patch/minor dev dependency bumps superseding Dependabot PR #614 - π Reviewed codebase for low-risk improvements β none found - π¬ Reviewed #353/#402/#508, no new human activity, skipped commenting> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35000406085). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35000406085, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35000406085 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 249 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #647: test: cover csharpAnalyzer ternary lone-question-mark false path (draft) β [Review](https://github.com/askpt/code-metrics/pull/647) * [ ] **Review PR**: perf: avoid array allocation in Java else-branch lookup (draft, branch `repo-assist/perf-java-else-branch-namedchildren-20260916`, created this run) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires ~2026-09-20 (in ~4 days), blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 as patch artifacts expire without maintainer action (may need regeneration or closing); #402's artifact is due to expire ~2026-09-20. ## Run History ### 2026-09-16 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35059064956) - π§ Created PR: perf: avoid array allocation in Java else-branch lookup β replaced `node.namedChildren` (allocates a full array per call) with allocation-free `namedChildCount`/`namedChild(i)` in `JavaMetricsAnalyzer.getElseBranchNode()`, called once per `if_statement` node visited during analysis, on branch `repo-assist/perf-java-else-branch-namedchildren-20260916`; 249 tests passing, coverage unchanged (99.12%/96.04%/100%/99.12%) - π Task 3: no issues labelled bug/help-wanted/good-first-issue found beyond the 3 protected-files-blocked feature requests; no fixable bugs this run - π¬ Reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-15 17:20 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35000406085) - π Rebased PR #511 onto latest main again (was behind), resolved the recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` subscriptions), compile/lint clean, 249 tests passing, coverage 99.12/96.04/100/99.12 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Commented on #402: flagged that its Kotlin patch artifact expires ~2026-09-20 (in ~5 days), recommending the maintainer apply it now via `git am --3way` before it's lost - π Reviewed #353/#508 again, no new human activity since last status comments, skipped commenting to avoid spam - π§ͺ Task 8 (performance): used an explore agent for a fresh full-codebase perf pass β no genuine new optimization opportunity found (codebase already heavily optimized from ~40 prior perf/refactor PRs); substituted with Task 9 per fallback table - π§ Created PR #647: test: cover previously-uncovered `hasMatchingColonInSiblings()` false-path (lone `?` preprocessor fragment with no matching `:` within 2 siblings) in `csharpAnalyzer.ts`; 250 tests passing (was 249), `csharpAnalyzer.ts` branch coverage 91.91% β 92.75% - β Confirmed issues #617/#618/#619/#614 all closed by maintainer since last run, removed from suggested actions ### 2026-09-15 (earlier) β [Run](https://github.com/askpt/code-metrics/actions/runs/34991701803) - π§ͺ Task 9: added 2 tests covering uncovered ternary branches in `csharpAnalyzer.ts` `getComplexityIncrement()` (top-level lambda/anonymous-method and continue/break nesting), 247 tests passing, PR created (`repo-assist/test-csharp-toplevel-nesting-branches-20260915`) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting - π Rebased PR #511 onto latest main, resolved recurring `.c8rc.json`/`src/extension.ts` conflicts, 245 tests passing, pushed via push_to_pull_request_branch> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35059064956). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35059064956, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35059064956 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 249 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #647: test: cover csharpAnalyzer ternary lone-question-mark false path (draft) β [Review](https://github.com/askpt/code-metrics/pull/647) * [ ] **Review PR**: refactor: use Set-based lookup for Java type-declaration node types (branch `repo-assist/improve-java-type-decl-set-20260916`, created this run) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expires **~2026-09-20 (~4 days away)**, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check** #646: `[gh-aw] Protected Files` notice for PR #511 branch (package.json/CHANGELOG/etc.) β review and apply manually if desired, else close β [View](https://github.com/askpt/code-metrics/issues/646) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 as patch artifacts expire without maintainer action (may need regeneration or closing); #402's artifact is closest to expiry (~2026-09-20). ## Run History ### 2026-09-16 17:20 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35127266141) - π§ Created PR: refactor: use Set-based lookup for Java type-declaration node types in `getMethodName()`, matching the `ReadonlySet` pattern already used elsewhere in `javaAnalyzer.ts` and in `csharpAnalyzer.ts`, on branch `repo-assist/improve-java-type-decl-set-20260916`; 249 tests passing, coverage 99.13/96.02/100/99.13 (thresholds 95/88/97/95 met) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π Task 3: no issues labelled bug/help-wanted/good-first-issue found; substituted with Task 5 per fallback table - π§Ή Cleaned up suggested actions: removed stale entries for #614/#617/#618/#619 (all closed/merged) and for branches with no corresponding open PR ### 2026-09-16 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35059064956) - π§ Created PR: perf: avoid array allocation in Java else-branch lookup β replaced `node.namedChildren` (allocates a full array per call) with allocation-free `namedChildCount`/`namedChild(i)` in `JavaMetricsAnalyzer.getElseBranchNode()`, on branch `repo-assist/perf-java-else-branch-namedchildren-20260916`; 249 tests passing, coverage unchanged (99.12%/96.04%/100%/99.12%) - π No fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting to avoid spam ### 2026-09-15 17:20 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35000406085) - π Rebased PR #511 onto latest main again, resolved recurring conflicts in `.c8rc.json` and `src/extension.ts`, compile/lint clean, 249 tests passing, coverage 99.12/96.04/100/99.12 (thresholds met), pushed via push_to_pull_request_branch - π¬ Commented on #402: flagged that its Kotlin patch artifact expires ~2026-09-20, recommending the maintainer apply it now via `git am --3way` before it's lost - π§ Created PR #647: test: cover previously-uncovered `hasMatchingColonInSiblings()` false-path in `csharpAnalyzer.ts`; 250 tests passing, branch coverage 91.91% β 92.75% - β Confirmed issues #617/#618/#619/#614 all closed by maintainer, removed from suggested actions ### 2026-09-15 05:28 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34932720528) - π§ Created PR: test: cover C# top-level (unnested) lambda/anonymous-method and continue/break branches; 247 tests passing (was 245), csharpAnalyzer branch coverage 90.29%β91.91% - π Rebased PR #511 onto latest main again, resolved recurring conflicts, 245 tests passing, pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity, skipped commenting ### 2026-09-14 (2nd) run β [Run](https://github.com/askpt/code-metrics/actions/runs/34917964063) - π§ Created PR: bumped mocha 12.0.0->12.0.1 (patch) - π§ Created PR #643: test: cover unlabeled nested break/continue reason strings in goAnalyzer (branch coverage 95.27%->96%) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting ### 2026-09-14 run β [Run](https://github.com/askpt/code-metrics/actions/runs/34903212233) - π§ Created draft PR: test: cover fragmented ternary sibling-colon scan in csharpAnalyzer (merged as #635) - π¬ Reviewed #353/#402/#508 again, no new human activity, skipped commenting *(Older run history entries trimmed for readability; see issue edit history for full log.)* > Generated by π Repo Assist. [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub>> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35127266141). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35127266141, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35127266141 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, dirty β needs rebase again) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #649: refactor: use Set-based lookup for Java type-declaration node types β [Review](https://github.com/askpt/code-metrics/pull/649) * [ ] **Review PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review PR**: refactor: extract shared `hasLabelChild` helper for labeled break/continue detection (`repo-assist/refactor-shared-haslabel-helper-20260917`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build patch/minor dev-dependency bumps from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expired ~2026-09-20, may need regeneration if still wanted, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-17 05:32 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35185933315) - π§ Created PR: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`), 249 tests passing, coverage unchanged, npm audit clean - π§ Created PR: refactor: extract shared `hasLabelChild` helper deduplicating labeled break/continue detection across goAnalyzer/rustAnalyzer/jsLikeAnalyzer (`repo-assist/refactor-shared-haslabel-helper-20260917`), 249 tests passing, coverage unchanged - π Task 3 (issue fix): reviewed all open issues, no issues labelled bug/help-wanted/good-first-issue and no new fixable bugs found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no new human activity on any of them since last status comments, skipped commenting to avoid spam - π§Ή Confirmed issues #614/#617/#618/#619 are now closed and PR #647 merged/closed β removed from suggested actions; confirmed `repo-assist/eng-patch-mocha-20260914` and `repo-assist/improve-java-type-decl-set-20260916` branches from prior runs are represented by PR #649 (open) and the mocha branch had no open PR (recreated this run as `eng-patch-mocha-20260917`) ### 2026-09-09 05:22 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34314467374) - π Rebased PR #511 onto latest main again (was behind after further main commits), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π Task 9 (testing): reviewed test coverage β LruCache already fully unit-tested, remaining uncovered lines in csharpAnalyzer/goAnalyzer/javaAnalyzer/pythonAnalyzer/rustAnalyzer are all documented `/* c8 ignore */` defensive/unreachable branches confirmed by prior runs; no genuine gap found, substituted with Task 5 per fallback table - π§ Created PR: refactor: extract magic number for config-change refresh delay into a named constant in `codeLensProvider.ts` (`repo-assist/improve-config-refresh-delay-constant-20260909`), 244 tests passing, coverage unchanged - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-08 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/34190157980) - π Rebased PR #511 onto latest main again (was behind after #616 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` in subscriptions.push), compile/lint clean, 244 tests passing, coverage 98.76/95.67/99.08/98.76 (thresholds 95/88/97/95 met), pushed via push_to_pull_request_branch - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue beyond the protected-files-blocked feature requests); Task 3 substituted per fallback table> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35185933315). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35185933315, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35185933315 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, freshly rebased onto main again, 250 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #650: refactor: extract shared hasLabelChild helper for labeled break/continue detection β [Review](https://github.com/askpt/code-metrics/pull/650) * [ ] **Review PR** #649: refactor: use Set-based lookup for Java type-declaration node types β [Review](https://github.com/askpt/code-metrics/pull/649) * [ ] **Review PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` from 8.68.0 to 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review PR**: docs: document `codeMetrics.showDiagnostics` setting in README (`repo-assist/improve-readme-document-showdiagnostics-20260917`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build patch/minor dev-dependency bumps from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expired ~2026-09-20, may need regeneration if still wanted, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-17 17:19 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35251774285) - π Rebased PR #511 onto latest main again (mergeable_state was dirty after #649/#648/#647/#644/#643 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` into same `context.subscriptions.push`), compile/lint clean, 250 tests passing, coverage 99.2/96.2/100/99.2 (thresholds 95/88/97/95 met), pushed via `push_to_pull_request_branch` - π§ Created PR: docs: document `codeMetrics.showDiagnostics` setting in README (missing from Features/Extension Settings sections since the diagnostics provider feature was added), docs-only, 250 tests passing unaffected (`repo-assist/improve-readme-document-showdiagnostics-20260917`) - π Task 3 (issue fix): reviewed all open issues, no issues labelled bug/help-wanted/good-first-issue and no new fixable bugs beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no new human activity on any since last status comments, skipped commenting to avoid spam - π§Ή Confirmed issues #614/#617/#618/#619 remain closed (re-verified) ### 2026-09-17 05:32 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35185933315) - π§ Created PR: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`), 249 tests passing, coverage unchanged, npm audit clean - π§ Created PR: refactor: extract shared `hasLabelChild` helper deduplicating labeled break/continue detection across goAnalyzer/rustAnalyzer/jsLikeAnalyzer (`repo-assist/refactor-shared-haslabel-helper-20260917`), 249 tests passing, coverage unchanged - π Task 3 (issue fix): reviewed all open issues, no issues labelled bug/help-wanted/good-first-issue and no new fixable bugs found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no new human activity on any of them since last status comments, skipped commenting to avoid spam - π§Ή Confirmed issues #614/#617/#618/#619 are now closed and PR #647 merged/closed β removed from suggested actions ### 2026-09-16 17:20 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35127266141) - π§ Created PR: perf: avoid array allocation in Java else-branch lookup (`repo-assist/perf-java-else-branch-namedchildren-20260916`), 249 tests passing, coverage unchanged - π Task 3: no bug/help-wanted/good-first-issue labelled issues found beyond the 3 protected-files-blocked feature requests; no fixable bugs this run - π¬ Reviewed #353/#402/#508 again, no new human activity since last status comments, skipped commenting to avoid spam ### 2026-09-16 05:21 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35059064956) - π§ Created PR: test: cover C# top-level (unnested) lambda/anonymous-method and continue/break branches, 247 tests passing (was 245), csharpAnalyzer branch coverage 90.29%->91.91% - π Rebased PR #511 onto latest main again, resolved recurring conflicts in `.c8rc.json` and `src/extension.ts`, compile/lint clean, 245 tests passing, coverage thresholds met, pushed via push_to_pull_request_branch - π§Ή Confirmed issues #617/#618/#619 and PR #614 all closed; removed stale suggested-action lines for branches with no open PRs> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35251774285). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35251774285, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35251774285 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, rebased onto main, 250 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR**: refactor: share `findEnclosingTypeName` helper between C# and Java analyzers (`repo-assist/refactor-shared-enclosing-type-helper-20260918`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Check PR**: docs: document `codeMetrics.showDiagnostics` setting in README β became protected-files review issue #653 instead of a PR (touches README.md) β [View](https://github.com/askpt/code-metrics/issues/653) * [ ] **Review PR**: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build patch/minor dev-dependency bumps from 2026-09-07 run (`repo-assist/eng-patch-deps-20260907`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review PR**: build dev-dependency bumps from 2026-09-06 run (`repo-assist/eng-patch-deps-20260906`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact expired ~2026-09-20, may need regeneration if still wanted, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) * [ ] **Check/close issue** #646: `[gh-aw]` protected-files notice for PR #511 branch push β action already superseded by later rebases, safe to close if no longer needed β [View](https://github.com/askpt/code-metrics/issues/646) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-18 05:25 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35310128944) - π§ Created PR: refactor: share `findEnclosingTypeName` helper between C# and Java analyzers, deduplicating the "walk up to enclosing type declaration" logic (`repo-assist/refactor-shared-enclosing-type-helper-20260918`), 250 tests passing, coverage unchanged/slightly improved (99.26/96.35/100/99.26) - π Task 2 (issue comment): reviewed all open issues (#353/#402/#508/#646/#653), no new human activity since last status comments on any; #653 and #646 are protected-files notices with no comments yet, skipped commenting to avoid noise - π Task 8 (performance): explore agent reviewed all language analyzers, CodeLens provider, LRU cache, and factory caching β found no new measurable perf opportunity beyond what prior runs already implemented (Set-based lookups, cache layers, avoided allocations); substituted with the Task 5 duplication fix above - π§Ή Confirmed PR #650/#649 merged and issue #646/#653 remain the only open protected-files notices ### 2026-09-17 17:19 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35251774285) - π Rebased PR #511 onto latest main again (mergeable_state was dirty after #649/#648/#647/#644/#643 merged), resolved the same recurring conflicts in `.c8rc.json` (kept `out/providers/**` exclude) and `src/extension.ts` (merged `configValidityWatcher` + `diagnosticsDisposable` into same `context.subscriptions.push`), compile/lint clean, 250 tests passing, coverage 99.2/96.2/100/99.2 (thresholds 95/88/97/95 met), pushed via `push_to_pull_request_branch` - π§ Created PR: docs: document `codeMetrics.showDiagnostics` setting in README (missing from Features/Extension Settings sections since the diagnostics provider feature was added), docs-only, 250 tests passing unaffected (`repo-assist/improve-readme-document-showdiagnostics-20260917`) - π Task 3 (issue fix): reviewed all open issues, no issues labelled bug/help-wanted/good-first-issue and no new fixable bugs beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no new human activity on any since last status comments, skipped commenting to avoid spam - π§Ή Confirmed issues #614/#617/#618/#619 remain closed (re-verified) ### 2026-09-17 05:32 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35185933315) - π§ Created PR: build(deps-dev): bump mocha from 12.0.0 to 12.0.1 (`repo-assist/eng-patch-mocha-20260917`), 249 tests passing, coverage unchanged, npm audit clean - π§ Created PR: refactor: extract shared `hasLabelChild` helper deduplicating labeled break/continue detection across goAnalyzer/rustAnalyzer/jsLikeAnalyzer (`repo-assist/refactor-shared-haslabel-helper-20260917`), 249 tests passing, coverage unchanged - π Task 3 (issue fix): reviewed all open issues, no issues labelled bug/help-wanted/good-first-issue and no new fixable bugs found beyond the 3 protected-files-blocked feature requests (#353/#402/#508); no new human activity on any of them since last status comments, skipped commenting to avoid spam - π§Ή Confirmed issues #614/#617/#618/#619 are now closed and PR #647 merged/closed β removed from suggested actions> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35310128944). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35310128944, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35310128944 --> --- π€ *Repo Assist here β I'm an automated AI assistant for this repository.* ## Activity for September 2026 ## Suggested Actions for Maintainer * [ ] **Review PR** #511: feat: add cognitive complexity diagnostics provider (draft, repeatedly rebased onto main, 250 tests passing) β [Review](https://github.com/askpt/code-metrics/pull/511) * [ ] **Review PR** #654: refactor: share findEnclosingTypeName helper between C# and Java analyzers β [Review](https://github.com/askpt/code-metrics/pull/654) * [ ] **Review PR**: refactor: extract shared addDetail helper across analyzers (`repo-assist/refactor-shared-adddetail-helper-20260919`) β [Review](https://github.com/askpt/code-metrics/pulls) * [ ] **Review/merge PR** #640: build(deps-dev): bump `@typescript-eslint/eslint-plugin` 8.68.0 -> 8.70.0 (Dependabot) β [Review](https://github.com/askpt/code-metrics/pull/640) * [ ] **Review/merge PR** #501: build(deps): bump tree-sitter 0.21.1 -> 0.25.1 (Dependabot, major, long-blocked on peer-dep conflict) β [Review](https://github.com/askpt/code-metrics/pull/501) * [ ] **Review/merge PR** #455: build(deps-dev): bump typescript 6.0.3 -> 7.0.2 (Dependabot, major, stale) β [Review](https://github.com/askpt/code-metrics/pull/455) * [ ] **Review PR** #585: chore(main): release 0.9.3 (release-please) β [Review](https://github.com/askpt/code-metrics/pull/585) * [ ] **Apply patch manually** #653: docs: document `showDiagnostics` setting in README β protected-files fallback (touches README.md), patch available in the issue body β [View](https://github.com/askpt/code-metrics/issues/653) * [ ] **Apply patch manually** #646: protected-files notice for PR #511 branch push (touches package.json/README.md/CHANGELOG.md/workflow files) β [View](https://github.com/askpt/code-metrics/issues/646) * [ ] **Decide on issue** #508: feat: add C++ analyzer β patch artifact expires ~early November 2026, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/508) * [ ] **Decide on issue** #402: feat: add Kotlin analyzer β patch artifact due to expire ~2026-09-20, blocked on protected package.json β [View](https://github.com/askpt/code-metrics/issues/402) * [ ] **Decide on issue** #353: feat: add Ruby support β patch artifact has expired, needs regeneration if still wanted β [View](https://github.com/askpt/code-metrics/issues/353) ## Future Work for Repo Assist - Keep rebasing PR #511 as main advances until reviewed/merged. - Continue monitoring npm outdated/audit for new safe patch bumps. - Revisit #353/#402/#508 if patch artifacts expire without maintainer action (may need regeneration or closing). ## Run History ### 2026-09-19 05:11 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35423183895) - π§ Created PR: refactor: extract shared addDetail helper across csharp/go/rust/python/jsLike analyzers (`repo-assist/refactor-shared-adddetail-helper-20260919`), mirroring the existing helper already in javaAnalyzer.ts, 250 tests passing, coverage unchanged (99.26/96.38/100/99.26) - π¬ Reviewed #353/#402/#508 again β no new human activity since last status comments, skipped commenting to avoid spam - π No new fixable bugs found (no issues labelled bug/help-wanted/good-first-issue); Task 3 substituted per fallback table (no actionable fix work) - Confirmed issues #614/#617/#618/#619 remain closed; removed stale "review PR" entries for branches with no corresponding open PR (`config-refresh-delay`, `eng-patch-deps-20260906/07`) ### 2026-09-18 05:18 UTC β [Run](https://github.com/askpt/code-metrics/actions/runs/35310128944) - π§ Created PR: refactor: extract shared findEnclosingTypeName helper between csharpAnalyzer.getEnclosingTypeName() and javaAnalyzer.getMethodName() (`repo-assist/refactor-shared-enclosing-type-helper-20260918`), 250 tests passing, coverage 99.26/96.35/100/99.26 - π Task 8 (performance): reviewed all analyzers/codeLensProvider/lruCache/factory, found no new measurable perf win beyond prior optimizations; substituted with Task 5 work above - π¬ Reviewed all open issues (353/402/508/646/653) β no new human activity since last comments, skipped commenting to avoid noise ### 2026-09-17 (2nd) run β [Run](https://github.com/askpt/code-metrics/actions/runs/35251774285) - π Rebased PR #511 onto latest main again, resolved recurring conflicts in `.c8rc.json` and `src/extension.ts`, compile/lint clean, 250 tests passing, coverage 99.2/96.2/100/99.2, pushed via push_to_pull_request_branch - π§ Created PR: docs: document `codeMetrics.showDiagnostics` setting in README (became protected-files issue #653) - π¬ Reviewed all open issues again β no new human activity, skipped commenting to avoid spam> [!WARNING] > <details> > <summary>Firewall blocked 1 domain</summary> > > The following domain was blocked by the firewall during workflow execution: > > - `releaseassets.githubusercontent.com` > > To allow these domains, add them to the `network.allowed` list in your workflow frontmatter: > > ```yaml > network: > allowed: > - defaults > - "releaseassets.githubusercontent.com" > ``` > > See [Network Configuration](https://github.github.com/gh-aw/reference/network/) for more information. > > </details> > Generated by π Repo Assist, see [workflow run](https://github.com/askpt/code-metrics/actions/runs/35423183895). [Learn more](https://github.com/githubnext/agentics/blob/main/docs/repo-assist.md). > <sub>Comment <em>/repo-assist</em> to run again</sub> > <details> <summary><sub>Add this agentic workflow to your repo</sub></summary> To install this agentic workflow, run ``` gh aw add githubnext/agentics/workflows/repo-assist.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9 ``` </details> <!-- gh-aw-agentic-workflow: Repo Assist, engine: copilot, model: auto, id: 35423183895, workflow_id: repo-assist, run: https://github.com/askpt/code-metrics/actions/runs/35423183895 -->