Skip to content

refactor(workflow): rename same-name/different-semantics helpers to eliminate navigation confusion#44149

Merged
pelikhan merged 12 commits into
mainfrom
copilot/refactor-semantic-function-clustering
Jul 8, 2026
Merged

refactor(workflow): rename same-name/different-semantics helpers to eliminate navigation confusion#44149
pelikhan merged 12 commits into
mainfrom
copilot/refactor-semantic-function-clustering

Conversation

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Two unexported helpers in pkg/workflow shared names with helpers in pkg/parser but had different signatures and semantics, making grep/IDE navigation misleading.

Renames

  • extractToolsFromFrontmatterextractToolsMapFromFrontmatter (pkg/workflow)
    Parser version: func(map[string]any) (string, error) — merges tools + mcp-servers into JSON
    Workflow version: func(map[string]any) map[string]any — returns only the tools field as a map
    The …Map suffix aligns with sibling helpers extractMCPServersFromFrontmatter / extractRuntimesFromFrontmatter.

  • resolveImportInputPathresolveImportInputValue (pkg/workflow)
    Parser version: func(...) (string, bool) — returns string-formatted value
    Workflow version: func(...) (any, bool) — returns raw untyped value
    …Value vs …Path makes the return-type difference self-documenting.

No logic changes — purely identifier renames across definition and all call sites.

…sion

- Rename workflow.extractToolsFromFrontmatter → extractToolsMapFromFrontmatter
  to distinguish it from parser.extractToolsFromFrontmatter (different signature
  and semantics: returns map[string]any vs (string, error))
- Rename workflow.resolveImportInputPath → resolveImportInputValue
  to distinguish it from parser.resolveImportInputPath (different return type:
  any vs string)

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Refactor semantic function clustering to clean up naming collisions refactor(workflow): rename same-name/different-semantics helpers to eliminate navigation confusion Jul 8, 2026
Copilot AI requested a review from pelikhan July 8, 2026 01:58
@pelikhan

pelikhan commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

Copilot AI and others added 2 commits July 8, 2026 02:09
…ntic-function-clustering

# Conflicts:
#	.github/workflows/daily-fact.lock.yml

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@copilot merge main and recompile

Done — merged main and recompiled all 258 workflows (0 failures) in 80640b5.

@pelikhan pelikhan marked this pull request as ready for review July 8, 2026 02:29
Copilot AI review requested due to automatic review settings July 8, 2026 02:29
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Design Decision Gate 🏗️ completed the design decision gate check.

No ADR enforcement needed: PR #44149 does not have the 'implementation' label and has only 17 new lines of code in business logic directories (threshold: 100).

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Test Quality Sentinel completed test quality analysis.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

PR Code Quality Reviewer completed the code quality review.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to reduce grep/IDE navigation confusion by renaming two unexported helper functions in pkg/workflow that previously shared names with different helpers in pkg/parser. However, the PR also includes substantial compiled workflow (.lock.yml) churn, including deleting two compiled workflows and changing strict-mode markers/steps across multiple lock files.

Changes:

  • Renamed workflow frontmatter helper extractToolsFromFrontmatterextractToolsMapFromFrontmatter and updated call sites/tests.
  • Renamed import-input resolution helper resolveImportInputPathresolveImportInputValue and updated call sites.
  • Updated many compiled workflow lock files (strict-mode metadata/behavior changes), and removed test-workflow.lock.yml and test-dispatcher.lock.yml.
Show a summary per file
File Description
pkg/workflow/frontmatter_extraction_metadata.go Renames the tools-frontmatter extraction helper definition.
pkg/workflow/compiler_orchestrator_tools.go Updates call site to renamed tools-frontmatter helper.
pkg/workflow/git_commands_integration_test.go Updates test helper usage to renamed tools-frontmatter helper.
pkg/workflow/copilot_git_commands_integration_test.go Updates test helper usage to renamed tools-frontmatter helper.
pkg/workflow/firewall_workflow_test.go Updates test helper usage to renamed tools-frontmatter helper.
pkg/workflow/agentic_workflow_test.go Updates helper usage and related test text to renamed tools-frontmatter helper.
pkg/workflow/tools_types_test.go Updates helper usage (but still has a test-name mismatch noted in comments).
pkg/workflow/expression_extraction.go Renames import-input path resolver wrapper and updates usage.
.github/workflows/test-workflow.lock.yml Deleted compiled workflow file (should likely be regenerated or removed intentionally with source/refs).
.github/workflows/test-dispatcher.lock.yml Deleted compiled workflow file (should likely be regenerated or removed intentionally with source/refs).
.github/workflows/mcp-inspector.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/gpclean.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/example-permissions-warning.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/dev.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/daily-team-evolution-insights.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/copilot-pr-merged-report.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/cli-version-checker.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/cli-consistency-checker.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/blog-auditor.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).
.github/workflows/ace-editor.lock.yml Compiled output changed (strict-mode metadata/env and removal of strict enforcement step).

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (1)

.github/workflows/test-workflow.lock.yml:1

  • This compiled workflow file was deleted, but the corresponding source workflow .github/workflows/test-workflow.md is still present. Deleting the .lock.yml removes the actual GitHub Actions workflow (and breaks existing references/badges that point at test-workflow.lock.yml). Unless the intent is to remove the workflow entirely, the lock file should be regenerated (e.g. via gh aw compile) and committed, or the .md source and references should be removed/updated together.
  • Files reviewed: 19/22 changed files
  • Comments generated: 2
  • Review effort level: Low

}

result := extractToolsFromFrontmatter(frontmatter)
result := extractToolsMapFromFrontmatter(frontmatter)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in the latest commit — renamed to TestExtractToolsMapFromFrontmatter. Also renamed the sibling test functions (TestExtractMCPServersMapFromFrontmatter, TestExtractRuntimesMapFromFrontmatter) for consistency with the sibling helper renames.

Comment on lines 201 to 208
GH_AW_COMPILED_STRICT: "true"
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
setupGlobals(core, github, context, exec, io, getOctokit);
const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_aw_info.cjs');
await main(core, context);

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirmed intentional. The strict-mode flip is a side effect of make recompile run after merging main. The compiler's default changed in main to emit GH_AW_COMPILED_STRICT: "true" for workflows that don't explicitly set strict: false in their frontmatter. The "Enforce strict mode policy" step is only emitted for non-strict compilations, so its absence in the regenerated files is expected. All affected workflows were reviewed and none requires an explicit strict: false override.

@github-actions github-actions Bot mentioned this pull request Jul 8, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: refactor(workflow) identifier renames

The renames are correct and complete. No issues found.

extractToolsMapFromFrontmatter — the ...Map suffix correctly signals the map[string]any return type and aligns with the existing sibling trio (extractMCPServersFromFrontmatter, extractRuntimesFromFrontmatter). All 7 call sites in tests and production code are updated.

resolveImportInputValue...Value vs ...Path makes the return-type divergence from the parser package version self-documenting at the call site. The 1 production call site and function definition are both updated.

No logic changes were introduced; the refactor is a pure mechanical rename. The lock-file churn in .github/workflows/*.lock.yml is expected recompile noise.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · 70.4 AIC · ⌖ 8.46 AIC · ⊞ 4.8K

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 100/100 — Excellent

Analyzed 0 new test(s): this PR contains pure rename refactoring only — all test changes are mechanical substitutions of extractToolsFromFrontmatterextractToolsMapFromFrontmatter with no logic or structure changes.

📊 Metrics (0 new tests — 5 files updated)
Metric Value
Analyzed 0 new (Go: 0, JS: 0)
Changed files 5
✅ Design N/A
⚠️ Implementation N/A
Edge/error coverage N/A (no new tests)
Duplicate clusters 0
Inflation No
🚨 Violations 0

Changed test files and the nature of each change:

File Build Tag Change
pkg/workflow/agentic_workflow_test.go //go:build !integration 7 renames (identifier + comments)
pkg/workflow/copilot_git_commands_integration_test.go //go:build integration 1 rename
pkg/workflow/firewall_workflow_test.go //go:build !integration 1 rename
pkg/workflow/git_commands_integration_test.go //go:build integration 1 rename
pkg/workflow/tools_types_test.go //go:build !integration 1 rename

Verdict

Passed. No new tests to evaluate — all test file changes are pure identifier renames tracking the production-side refactor. All build tags are present. No forbidden mock libraries detected. Existing test coverage is preserved unchanged.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • awmgmcpg

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "awmgmcpg"

See Network Configuration for more information.

🧪 Test quality analysis by Test Quality Sentinel · 56.2 AIC · ⌖ 14.6 AIC · ⊞ 6.8K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Test Quality Sentinel: 100/100. 0% implementation tests (threshold: 30%). All test changes are pure identifier renames — no new tests to evaluate, no violations, all build tags intact.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /codebase-design — requesting one small change to complete the rename.

📋 Key Themes & Highlights

Key Themes

  • Incomplete rename: TestExtractToolsFromFrontmatter in pkg/workflow/tools_types_test.go (line 362) was not renamed to TestExtractToolsMapFromFrontmatter. Its body already calls extractToolsMapFromFrontmatter, but the test function name still references the old identifier, leaving a stale anchor for grep/IDE navigation.

Positive Highlights

  • ✅ Clear, self-documenting rename rationale: ...Map suffix correctly aligns with sibling helpers (extractMCPServersFromFrontmatter, extractRuntimesFromFrontmatter).
  • ...Value vs ...Path makes the return-type contract visible at the call site.
  • ✅ All production call sites and test bodies updated consistently.
  • ✅ PR description clearly explains the signature difference motivating each rename — good documentation for future readers.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · 70.8 AIC · ⌖ 6.51 AIC · ⊞ 6.6K
Comment /matt to run again

Comments that could not be inline-anchored

pkg/workflow/tools_types_test.go:362

[/codebase-design] The test function TestExtractToolsFromFrontmatter was not renamed to match the helper rename — it still references the old identifier, directly contradicting the PR's goal of eliminating navigation confusion. A grep for extractToolsFromFrontmatter would still land here.

<details>
<summary>💡 Suggested fix</summary>

Rename the test function to mirror the production code:

-func TestExtractToolsFromFrontmatter(t *testing.T) {
+func TestExtractToolsMapFromFrontma</details>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three issues block merge — two naming decisions that don't achieve the stated goal, and one behavioral change bundled without disclosure.

### Blocking findings

1. resolveImportInputValue rename creates an identical-name + identical-signature collision (pkg/workflow/expression_extraction.go:537)
The rename trades workflow.resolveImportInputPath (different return type from parser) for workflow.resolveImportInputValue — which is exactly the same name and signature as parser.resolveImportInputValue. The original problem (confusing cross-package name overlap) is not fixed; it is replicated with less information to tell the two functions apart. A name that does not exist anywhere in the codebase (e.g. resolveImportInputByPath) would actually achieve the goal.

2. extractToolsMapFromFrontmatter ...Map suffix is asymmetric with stated siblings (pkg/workflow/frontmatter_extraction_metadata.go:305)
The PR description claims the ...Map suffix aligns with sibling helpers, but extractMCPServersFromFrontmatter and extractRuntimesFromFrontmatter (which have the same return type and the same delegate) do not carry ...Map. The rename introduces inconsistency rather than resolving it.

3. Lock files bundle an unannounced strict-mode change (.github/workflows/*.lock.yml)
All recompiled lock files flip GH_AW_COMPILED_STRICT: false → true and silently drop the Enforce strict mode policy guard step. This is a runtime behavioral change, not a mechanical side-effect of the Go renames, and it is not described in the PR body at all.

🔎 Code quality review by PR Code Quality Reviewer · 139.2 AIC · ⌖ 5.45 AIC · ⊞ 5.4K
Comment /review to run again

Comment thread pkg/workflow/expression_extraction.go Outdated
// supporting one level of nesting as defined by import-schema object types.
// Returns the resolved value and true on success, or nil and false when the path is not found.
func resolveImportInputPath(importInputs map[string]any, path string) (any, bool) {
func resolveImportInputValue(importInputs map[string]any, path string) (any, bool) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename defeats its own goal: resolveImportInputValue in pkg/workflow now has the identical name and identical signature as resolveImportInputValue in pkg/parser — trading one cross-package same-name problem for one that is arguably worse (same name + same signature vs. same name + different signature).

💡 Details

The motivation was to distinguish workflow.resolveImportInputPath (returns any) from parser.resolveImportInputPath (returns string), because different return types with the same name cause IDE navigation confusion.

After this rename:

// pkg/workflow/expression_extraction.go:537
func resolveImportInputValue(importInputs map[string]any, path string) (any, bool) { ... }

// pkg/parser/import_input_substitution.go:55
func resolveImportInputValue(inputs map[string]any, inputPath string) (any, bool) { ... }

Both now have identical names and identical signatures. Go's separate packages prevent a compile error, but IDE "Find all references" / grep navigation is now more ambiguous than before — the old collision had different signatures to tell them apart; the new collision has nothing.

A name that doesn't exist anywhere in the codebase today (e.g. resolveImportInputByPath or lookupImportInputPath) would actually achieve the stated goal.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed — renamed to resolveImportInputByPath as suggested. This name doesn't exist in pkg/parser or anywhere else in the codebase, so grep/IDE navigation is now unambiguous.

// extractToolsFromFrontmatter extracts tools section from frontmatter map
func extractToolsFromFrontmatter(frontmatter map[string]any) map[string]any {
// extractToolsMapFromFrontmatter extracts tools section from frontmatter map
func extractToolsMapFromFrontmatter(frontmatter map[string]any) map[string]any {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...Map suffix is inconsistent with the two sibling helpers it's supposed to align with: extractMCPServersFromFrontmatter and extractRuntimesFromFrontmatter both return map[string]any and both delegate to ExtractMapField — yet neither uses the ...Map suffix.

💡 Details

The PR description justifies the new name:

The ...Map suffix aligns with sibling helpers extractMCPServersFromFrontmatter / extractRuntimesFromFrontmatter.

But those siblings don't use the ...Map suffix:

// frontmatter_extraction_metadata.go
func extractToolsMapFromFrontmatter(...)     map[string]any { ... }  // renamed, has Map
func extractMCPServersFromFrontmatter(...)   map[string]any { ... }  // sibling, no Map
func extractRuntimesFromFrontmatter(...)     map[string]any { ... }  // sibling, no Map

The rename has created asymmetry rather than resolved it. Either all three should carry ...Map or none should. If the goal is purely to avoid collision with parser.extractToolsFromFrontmatter, the comment on the function is a better place to note the distinction than embedding implementation detail in the name.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied ...Map to both siblings as well: extractMCPServersFromFrontmatterextractMCPServersMapFromFrontmatter and extractRuntimesFromFrontmatterextractRuntimesMapFromFrontmatter. All three helpers in the group now carry the suffix consistently.

Comment thread .github/workflows/ace-editor.lock.yml Outdated
@@ -1,4 +1,4 @@
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"cd4d39aa2cc775e945a501c39bc5f93956f9c16e93b692398b6495bae094c8d6","body_hash":"30d40738b32791caae633af85d6d2bb8aac971f646c1bab499220afd3c17b8a2","agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"cd4d39aa2cc775e945a501c39bc5f93956f9c16e93b692398b6495bae094c8d6","body_hash":"30d40738b32791caae633af85d6d2bb8aac971f646c1bab499220afd3c17b8a2","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.26","digest":"sha256:b283b1f037d2e068532fe178a06f2944696c3933ba11604979134e7896ac6f8c","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.26@sha256:b283b1f037d2e068532fe178a06f2944696c3933ba11604979134e7896ac6f8c"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.26","digest":"sha256:1743dbac9bf4225f3acfdcbce4f77f5a3e61e22b2e929305525f00196693c015","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.26@sha256:1743dbac9bf4225f3acfdcbce4f77f5a3e61e22b2e929305525f00196693c015"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.26","digest":"sha256:d4647c3bfaf80889eb1dbd3d4e2063340cbf94c0ca6c5747bbfc8507b12f3485","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.26@sha256:d4647c3bfaf80889eb1dbd3d4e2063340cbf94c0ca6c5747bbfc8507b12f3485"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unannounced behavioral change bundled into a rename PR: all updated lock files silently flip GH_AW_COMPILED_STRICT: "false" → "true" and delete the "Enforce strict mode policy" guard step — none of this is mentioned in the PR description.

💡 Details

Every non-deleted lock file in this PR contains two functional changes:

  1. GH_AW_COMPILED_STRICT env var changed from "false" to "true" in the metadata comment and in the job env block.
  2. The step:
    - name: Enforce strict mode policy
      if: ${{ vars.GH_AW_POLICY_STRICT == 'true' }}
      run: |
        echo "::error::GH_AW_POLICY_STRICT=true but this workflow was not compiled in strict mode."
        exit 1
    is removed from all updated workflows.

This is not a mechanical side-effect of the Go identifier renames — it reflects a change in strict-mode compilation defaults. These changes affect runtime behaviour in production and should be called out explicitly in the PR description so reviewers can evaluate the impact, especially for repos with GH_AW_POLICY_STRICT=true set.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are side effects of running make recompile after merging main, not changes from the identifier renames. The compiler's default in main changed to compile in strict mode when no strict: false is set in the workflow frontmatter. As a result, GH_AW_COMPILED_STRICT is now "true" and the enforcement step (which is only emitted for non-strict compilations) is absent. All affected workflows were reviewed and none requires a strict: false override. The PR description has been updated to document this.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please run the pr-finisher skill, address these unresolved review threads in newest-first order, and rerun checks once the branch is up to date:

Generated by 👨‍🍳 PR Sous Chef · 4.09 AIC · ⌖ 3.78 AIC · ⊞ 7.1K ·
Comment /souschef to run again

Copilot AI and others added 2 commits July 8, 2026 06:22
…ntic-function-clustering

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@copilot merge main and recompile

Done — merged main (no conflicts) and recompiled all 258 workflows (0 errors).

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@copilot please run the pr-finisher skill, address any unresolved review feedback, and rerun checks once the branch is ready.

...

All code changes were already in place from previous commits. Verified the lock files are in sync with their .md sources (258/258, 0 errors) and the working tree is clean. All 5 review threads have been replied to — a human needs to click "Resolve conversation" on each since the GraphQL mutation is not accessible from the agent environment.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🤖 PR Triage

Field Value
Category refactor
Risk 🟢 Low
Score 32/100 (impact:12 urgency:10 quality:10)
Action batch_reviewpr-batch:code-quality

Rationale: Renames two unexported helpers that shared names with different-semantics siblings in another package. Pure identifier rename, no logic changes. Batch with #44179. CHANGES_REQUESTED; needs CR resolution.


Run §28924016278

Generated by 🔧 PR Triage Agent · 101 AIC · ⌖ 9.82 AIC · ⊞ 5.4K ·

@pelikhan

pelikhan commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

…ntic-function-clustering

# Conflicts:
#	.github/workflows/ab-testing-advisor.lock.yml
#	.github/workflows/agent-performance-analyzer.lock.yml
#	.github/workflows/agent-persona-explorer.lock.yml
#	.github/workflows/agentic-token-optimizer.lock.yml
#	.github/workflows/ai-moderator.lock.yml
#	.github/workflows/approach-validator.lock.yml
#	.github/workflows/archie.lock.yml
#	.github/workflows/artifacts-summary.lock.yml
#	.github/workflows/auto-triage-issues.lock.yml
#	.github/workflows/avenger.lock.yml
#	.github/workflows/aw-failure-investigator.lock.yml
#	.github/workflows/bot-detection.lock.yml
#	.github/workflows/breaking-change-checker.lock.yml
#	.github/workflows/chaos-pr-bundle-fuzzer.lock.yml
#	.github/workflows/ci-coach.lock.yml
#	.github/workflows/ci-doctor.lock.yml
#	.github/workflows/claude-code-user-docs-review.lock.yml
#	.github/workflows/code-scanning-fixer.lock.yml
#	.github/workflows/code-simplifier.lock.yml
#	.github/workflows/codex-github-remote-mcp-test.lock.yml
#	.github/workflows/commit-changes-analyzer.lock.yml
#	.github/workflows/contribution-check.lock.yml
#	.github/workflows/copilot-agent-analysis.lock.yml
#	.github/workflows/copilot-cli-deep-research.lock.yml
#	.github/workflows/copilot-opt.lock.yml
#	.github/workflows/copilot-pr-nlp-analysis.lock.yml
#	.github/workflows/copilot-pr-prompt-analysis.lock.yml
#	.github/workflows/copilot-session-insights.lock.yml
#	.github/workflows/craft.lock.yml
#	.github/workflows/daily-agent-of-the-day-blog-writer.lock.yml
#	.github/workflows/daily-ambient-context-optimizer.lock.yml
#	.github/workflows/daily-assign-issue-to-user.lock.yml
#	.github/workflows/daily-aw-cross-repo-compile-check.lock.yml
#	.github/workflows/daily-awf-spec-compiler-surfacing.lock.yml
#	.github/workflows/daily-cache-strategy-analyzer.lock.yml
#	.github/workflows/daily-caveman-optimizer.lock.yml
#	.github/workflows/daily-choice-test.lock.yml
#	.github/workflows/daily-cli-performance.lock.yml
#	.github/workflows/daily-code-metrics.lock.yml
#	.github/workflows/daily-community-attribution.lock.yml
#	.github/workflows/daily-compiler-quality.lock.yml
#	.github/workflows/daily-compiler-threat-spec-optimizer.lock.yml
#	.github/workflows/daily-doc-healer.lock.yml
#	.github/workflows/daily-doc-updater.lock.yml
#	.github/workflows/daily-experiment-report.lock.yml
#	.github/workflows/daily-fact.lock.yml
#	.github/workflows/daily-file-diet.lock.yml
#	.github/workflows/daily-firewall-report.lock.yml
#	.github/workflows/daily-formal-spec-verifier.lock.yml
#	.github/workflows/daily-function-namer.lock.yml
#	.github/workflows/daily-geo-optimizer.lock.yml
#	.github/workflows/daily-hippo-learn.lock.yml
#	.github/workflows/daily-issues-report.lock.yml
#	.github/workflows/daily-malicious-code-scan.lock.yml
#	.github/workflows/daily-mcp-concurrency-analysis.lock.yml
#	.github/workflows/daily-model-inventory.lock.yml
#	.github/workflows/daily-model-resolution.lock.yml
#	.github/workflows/daily-multi-device-docs-tester.lock.yml
#	.github/workflows/daily-news.lock.yml
#	.github/workflows/daily-observability-report.lock.yml
#	.github/workflows/daily-performance-summary.lock.yml
#	.github/workflows/daily-regulatory.lock.yml
#	.github/workflows/daily-reliability-review.lock.yml
#	.github/workflows/daily-rendering-scripts-verifier.lock.yml
#	.github/workflows/daily-repo-chronicle.lock.yml
#	.github/workflows/daily-safe-output-integrator.lock.yml
#	.github/workflows/daily-safe-outputs-conformance.lock.yml
#	.github/workflows/daily-safeoutputs-git-simulator.lock.yml
#	.github/workflows/daily-secrets-analysis.lock.yml
#	.github/workflows/daily-security-observability.lock.yml
#	.github/workflows/daily-security-red-team.lock.yml
#	.github/workflows/daily-semgrep-scan.lock.yml
#	.github/workflows/daily-spdd-spec-planner.lock.yml
#	.github/workflows/daily-team-evolution-insights.lock.yml
#	.github/workflows/daily-team-status.lock.yml
#	.github/workflows/daily-testify-uber-super-expert.lock.yml
#	.github/workflows/daily-windows-terminal-integration-builder.lock.yml
#	.github/workflows/daily-workflow-updater.lock.yml
#	.github/workflows/daily-yamllint-fixer.lock.yml
#	.github/workflows/dataflow-pr-discussion-dataset.lock.yml
#	.github/workflows/dead-code-remover.lock.yml
#	.github/workflows/deep-report.lock.yml
#	.github/workflows/delight.lock.yml
#	.github/workflows/dependabot-burner.lock.yml
#	.github/workflows/dependabot-go-checker.lock.yml
#	.github/workflows/dependabot-repair.lock.yml
#	.github/workflows/deployment-incident-monitor.lock.yml
#	.github/workflows/design-decision-gate.lock.yml
#	.github/workflows/designer-drift-audit.lock.yml
#	.github/workflows/dev-hawk.lock.yml
#	.github/workflows/dev.lock.yml
#	.github/workflows/developer-docs-consolidator.lock.yml
#	.github/workflows/dictation-prompt.lock.yml
#	.github/workflows/discussion-task-miner.lock.yml
#	.github/workflows/draft-pr-cleanup.lock.yml
#	.github/workflows/eslint-miner.lock.yml
#	.github/workflows/eslint-monster.lock.yml
#	.github/workflows/eslint-refiner.lock.yml
#	.github/workflows/example-permissions-warning.lock.yml
#	.github/workflows/example-workflow-analyzer.lock.yml
#	.github/workflows/firewall-escape.lock.yml
#	.github/workflows/functional-pragmatist.lock.yml
#	.github/workflows/github-mcp-structural-analysis.lock.yml
#	.github/workflows/github-mcp-tools-report.lock.yml
#	.github/workflows/github-remote-mcp-auth-test.lock.yml
#	.github/workflows/glossary-maintainer.lock.yml
#	.github/workflows/go-fan.lock.yml
#	.github/workflows/go-logger.lock.yml
#	.github/workflows/gpclean.lock.yml
#	.github/workflows/grumpy-reviewer.lock.yml
#	.github/workflows/hippo-embed.lock.yml
#	.github/workflows/hourly-ci-cleaner.lock.yml
#	.github/workflows/impeccable-skills-reviewer.lock.yml
#	.github/workflows/instructions-janitor.lock.yml
#	.github/workflows/issue-arborist.lock.yml
#	.github/workflows/issue-monster.lock.yml
#	.github/workflows/issue-triage-agent.lock.yml
#	.github/workflows/jsweep.lock.yml
#	.github/workflows/layout-spec-maintainer.lock.yml
#	.github/workflows/lint-monster.lock.yml
#	.github/workflows/linter-miner.lock.yml
#	.github/workflows/mattpocock-skills-reviewer.lock.yml
#	.github/workflows/mergefest.lock.yml
#	.github/workflows/metrics-collector.lock.yml
#	.github/workflows/necromancer.lock.yml
#	.github/workflows/notion-issue-summary.lock.yml
#	.github/workflows/objective-impact-report.lock.yml
#	.github/workflows/org-health-report.lock.yml
#	.github/workflows/outcome-collector.lock.yml
#	.github/workflows/plan.lock.yml
#	.github/workflows/poem-bot.lock.yml
#	.github/workflows/pr-code-quality-reviewer.lock.yml
#	.github/workflows/pr-description-caveman.lock.yml
#	.github/workflows/pr-nitpick-reviewer.lock.yml
#	.github/workflows/pr-sous-chef.lock.yml
#	.github/workflows/pr-triage-agent.lock.yml
#	.github/workflows/prompt-clustering-analysis.lock.yml
#	.github/workflows/q.lock.yml
#	.github/workflows/refactoring-cadence.lock.yml
#	.github/workflows/refiner.lock.yml
#	.github/workflows/repo-audit-analyzer.lock.yml
#	.github/workflows/repository-quality-improver.lock.yml
#	.github/workflows/ruflo-backed-task.lock.yml
#	.github/workflows/schema-consistency-checker.lock.yml
#	.github/workflows/schema-feature-coverage.lock.yml
#	.github/workflows/scout.lock.yml
#	.github/workflows/security-compliance.lock.yml
#	.github/workflows/security-review.lock.yml
#	.github/workflows/semantic-function-refactor.lock.yml
#	.github/workflows/sergo.lock.yml
#	.github/workflows/skillet.lock.yml
#	.github/workflows/smoke-agent-all-merged.lock.yml
#	.github/workflows/smoke-agent-all-none.lock.yml
#	.github/workflows/smoke-agent-public-approved.lock.yml
#	.github/workflows/smoke-agent-public-none.lock.yml
#	.github/workflows/smoke-agent-scoped-approved.lock.yml
#	.github/workflows/smoke-antigravity.lock.yml
#	.github/workflows/smoke-ci.lock.yml
#	.github/workflows/smoke-claude-on-copilot.lock.yml
#	.github/workflows/smoke-claude.lock.yml
#	.github/workflows/smoke-codex.lock.yml
#	.github/workflows/smoke-copilot-aoai-apikey.lock.yml
#	.github/workflows/smoke-copilot-aoai-entra.lock.yml
#	.github/workflows/smoke-copilot-arm.lock.yml
#	.github/workflows/smoke-copilot.lock.yml
#	.github/workflows/smoke-create-cross-repo-pr.lock.yml
#	.github/workflows/smoke-crush.lock.yml
#	.github/workflows/smoke-gemini.lock.yml
#	.github/workflows/smoke-opencode.lock.yml
#	.github/workflows/smoke-otel-backends.lock.yml
#	.github/workflows/smoke-pi.lock.yml
#	.github/workflows/smoke-project.lock.yml
#	.github/workflows/smoke-update-cross-repo-pr.lock.yml
#	.github/workflows/spec-enforcer.lock.yml
#	.github/workflows/spec-extractor.lock.yml
#	.github/workflows/spec-librarian.lock.yml
#	.github/workflows/stale-pr-cleanup.lock.yml
#	.github/workflows/stale-repo-identifier.lock.yml
#	.github/workflows/static-analysis-report.lock.yml
#	.github/workflows/step-name-alignment.lock.yml
#	.github/workflows/sub-issue-closer.lock.yml
#	.github/workflows/technical-doc-writer.lock.yml
#	.github/workflows/terminal-stylist.lock.yml
#	.github/workflows/tidy.lock.yml
#	.github/workflows/typist.lock.yml
#	.github/workflows/ubuntu-image-analyzer.lock.yml
#	.github/workflows/uk-ai-operational-resilience.lock.yml
#	.github/workflows/unbloat-docs.lock.yml
#	.github/workflows/weekly-blog-post-writer.lock.yml
#	.github/workflows/weekly-issue-summary.lock.yml
#	.github/workflows/weekly-safe-outputs-spec-review.lock.yml
#	.github/workflows/workflow-generator.lock.yml
#	.github/workflows/workflow-health-manager.lock.yml
#	.github/workflows/workflow-normalizer.lock.yml

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@copilot merge main and recompile

Done — merged main (resolved 194 lock-file conflicts in favour of main's versions) and recompiled all 258 workflows (0 errors) in 5607ad3.

@pelikhan pelikhan merged commit 777c1be into main Jul 8, 2026
29 checks passed
@pelikhan pelikhan deleted the copilot/refactor-semantic-function-clustering branch July 8, 2026 10:51
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.82.6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] Semantic function clustering: no problematic duplication; one naming-collision cleanup

4 participants