Skip to content

Add github.com org fallback for add-wizard shorthand on GHE and improve cross-host error guidance#34526

Open
Copilot wants to merge 13 commits into
mainfrom
copilot/gh-aw-add-wizard-confusing-wf-resolution
Open

Add github.com org fallback for add-wizard shorthand on GHE and improve cross-host error guidance#34526
Copilot wants to merge 13 commits into
mainfrom
copilot/gh-aw-add-wizard-confusing-wf-resolution

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 24, 2026

gh aw add-wizard shorthand specs were being resolved on the active GHE host, which caused misleading 404/ref-resolution failures for public workflow sources that exist on github.com. This change adds explicit cross-host fallback for known public orgs and improves user-facing guidance when shorthand resolution fails on enterprise hosts.

  • Host resolution: prefer github.com for known public workflow orgs

    • Extended repo host selection to route shorthand specs under github/*, githubnext/*, and microsoft/* to https://github.com even in GHE contexts.
    • Applied consistently in both CLI and parser host-resolution paths to avoid split behavior.
  • Error UX: make cross-host failure actionable

    • When ref→SHA resolution fails with 404-like errors on non-github.com hosts, the error now includes a direct remediation hint to use a full https://github.com/... URL (including a concrete command example).
  • add-wizard guidance update

    • Updated add-wizard long help text to clearly state that in GHE repos, shorthand resolves on the enterprise host and public github.com sources should be passed as full URLs.
  • Coverage updates

    • Added focused tests for:
      • org-based host fallback (github, githubnext, microsoft)
      • 404-specific cross-host hint generation and URL normalization
      • updated add-wizard help messaging
switch owner {
case "github", "githubnext", "microsoft":
    return "https://github.com"
}

Copilot AI and others added 2 commits May 24, 2026 20:23
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix cross-host workflow resolution for gh aw add-wizard Add github.com org fallback for add-wizard shorthand on GHE and improve cross-host error guidance May 24, 2026
Copilot AI requested a review from pelikhan May 24, 2026 20:29
@pelikhan pelikhan marked this pull request as ready for review May 24, 2026 20:36
Copilot AI review requested due to automatic review settings May 24, 2026 20:36
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 24, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 24, 2026

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

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 24, 2026

🧪 Test Quality Sentinel completed test quality analysis.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 24, 2026

PR Code Quality Reviewer completed the code quality review.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 improves gh aw add-wizard behavior on GitHub Enterprise (GHE) by ensuring shorthand workflow specs for certain well-known public organizations resolve against github.com, and by adding more actionable guidance when ref→SHA resolution fails on non-github.com hosts.

Changes:

  • Route shorthand specs for github/*, githubnext/*, and microsoft/* to https://github.com even when an enterprise host is configured (applied in both CLI and parser paths).
  • Add a 404-specific cross-host hint when commit-SHA resolution fails on non-github.com hosts, suggesting a full https://github.com/... URL.
  • Update add-wizard help text and add/extend tests for host fallback and the new hint behavior.
Show a summary per file
File Description
pkg/parser/github.go Expands host selection to force github.com for allowlisted org owners.
pkg/parser/github_host_test.go Adds tests covering org-based public-host fallback in parser host resolution.
pkg/cli/github.go Updates CLI-side repo host selection to use owner-based allowlist.
pkg/cli/github_test.go Extends CLI host-resolution tests for additional allowlisted orgs.
pkg/cli/fetch.go Adds host-aware 404 hinting to SHA resolution failures.
pkg/cli/fetch_host_hint_test.go Introduces targeted tests for the new 404 hint generation and path normalization.
pkg/cli/add_wizard_command.go Updates add-wizard long help with GHE shorthand guidance.
pkg/cli/add_wizard_command_test.go Verifies the new help guidance text is present.

Copilot's findings

Tip

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

  • Files reviewed: 8/8 changed files
  • Comments generated: 2

Comment thread pkg/cli/fetch.go Outdated
Comment on lines +223 to +227
resolvedHost := strings.TrimSpace(explicitHost)
if resolvedHost == "" {
resolvedHost = strings.TrimPrefix(strings.TrimPrefix(getGitHubHost(), "https://"), "http://")
}
if resolvedHost == "" || resolvedHost == "github.com" {
Comment thread pkg/cli/add_wizard_command.go Outdated
Comment on lines +54 to +55
Note: In GitHub Enterprise repos, shorthand specs resolve on your enterprise host.
Use full https://github.com/... URLs when sourcing public github.com workflows.
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Solid improvement for GHE users — the org-level host routing and actionable error hint are both well-motivated and well-tested. Two non-blocking observations above worth a quick look before merge.

Review themes

What works well

  • Replacing the hard-coded repo allowlist with org-level routing is cleaner and more extensible
  • hostResolutionHintForNotFound is properly isolated, testable, and handles edge cases (nil error, non-404, path normalization)
  • Test coverage is thorough and covers the key branches
  • Help text update is clear and actionable

Observations (non-blocking)

  1. len(parts) > 0 guard in pkg/cli/github.go — always true after strings.SplitN; the outer if adds noise without protection
  2. Dual suggestion in error message — when the GHE host hint is active, the SHA-based retryCommand is also shown; since both resolve on the wrong host, the SHA retry is misleading in that context

🔎 Code quality review by PR Code Quality Reviewer · sonnet46 1.1M

Comment thread pkg/cli/github.go Outdated
githubLog.Print("Using public GitHub host for githubnext/agentics repository")
return string(constants.PublicGitHubHost)
parts := strings.SplitN(repo, "/", 2)
if len(parts) > 0 {
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.

len(parts) > 0 guard is always true: strings.SplitN always returns at least one element (even for an empty input), so this condition never filters anything — it misleads readers into thinking an empty-slice case is possible.

💡 Suggested fix

Drop the outer if and rely on the switch directly:

func getGitHubHostForRepo(repo string) string {
	parts := strings.SplitN(repo, "/", 2)
	switch parts[0] {
	case "github", "githubnext", "microsoft":
		githubLog.Printf("Using public GitHub host for %s organization repository", parts[0])
		return string(constants.PublicGitHubHost)
	}
	// For all other repositories, use the configured GitHub host
	...
}

parts[0] is always valid (at worst an empty string, which the switch default handles). Removing the spurious guard makes the intent clearer.

Comment thread pkg/cli/fetch.go Outdated
retryCommand := fmt.Sprintf("gh aw add %s/%s/%s@<40-char-sha>", owner, repo, workflowPath)
if hostHint, ok := hostResolutionHintForNotFound(owner, repo, ref, workflowPath, host, err); ok {
return "", fmt.Errorf(
"failed to resolve '%s' to commit SHA for '%s/%s'. Expected the GitHub API to return a commit SHA for the ref. Try: %s. %s: %w",
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.

Dual-hint confusion when GHE host hint applies: when the hint is active (GHE + 404), the error message includes both the SHA-based retryCommand and the hostHint. The SHA-based suggestion (gh aw add owner/repo/path@<40-char-sha>) will also fail on the wrong host, so showing it alongside the host-switch hint sends mixed signals to the user.

💡 Suggested fix

When the host hint applies, omit or de-emphasize the SHA retry, since the root cause is host selection, not ref resolution:

if hostHint, ok := hostResolutionHintForNotFound(owner, repo, ref, workflowPath, host, err); ok {
    return "", fmt.Errorf(
        "failed to resolve '%s' to commit SHA for '%s/%s' on %s. %s: %w",
        ref, owner, repo, resolvedHost, hostHint, err,
    )
}
// SHA retry is only useful when the host is correct
return "", fmt.Errorf(
    "failed to resolve '%s' to commit SHA for '%s/%s'. Try: %s: %w",
    ref, owner, repo, retryCommand, err,
)

This avoids suggesting a SHA-based retry that is equally likely to 404 on the wrong host.

@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 80/100 — Excellent

Analyzed 4 test function(s): 4 design, 0 implementation, 0 coding-guideline violations (hard). Minor style notes detected.

📊 Metrics & Test Classification (4 tests analyzed)
Metric Value
New/modified tests analyzed 4
✅ Design tests (behavioral contracts) 4 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 4 (100%)
Duplicate test clusters 0
Test inflation detected Yes (see note)
🚨 Coding-guideline violations 0 (no mock libraries; all build tags present)

Test Classification Details

Test File Classification Notes
TestHostResolutionHintForNotFound (4 subtests) pkg/cli/fetch_host_hint_test.go ✅ Design Tests hint function with GHE shorthand 404, github.com no-hint, nil/non-404 errors, path normalization
TestGetGitHubHostForRepo_PublicOrgFallback (4 rows) pkg/parser/github_host_test.go ✅ Design Table-driven; verifies public org fallback for github, githubnext, microsoft owners on GHE
TestGetGitHubHostForRepo (9 rows) pkg/cli/github_test.go ✅ Design Table-driven; covers allowlist repos, GHE host, path suffixes, missing GHE host
TestGetGitHubHost (new rows) pkg/cli/github_test.go ✅ Design Extended with trailing-slash and https:// prefix normalization cases

Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 4 tests — all unit (//go:build !integration)
  • 🟨 JavaScript (*.test.cjs, *.test.js): 0 tests
⚠️ Style Notes — Does Not Block Merge (2 issues)

⚠️ Missing testify assertion messages — pkg/cli/add_wizard_command_test.go

Issue: Two assert.Contains calls and one require.NotNil call lack descriptive message arguments (e.g., assert.Contains(t, cmd.Long, str) instead of assert.Contains(t, cmd.Long, str, "context")).
Impact: Low — tests still catch regressions, but failures print less context.
Suggested fix: Add a short message to each testify assertion, e.g.:

require.NotNil(t, cmd, "Add wizard command should be created")
assert.Contains(t, cmd.Long, "...", "help text should mention three-part workflow spec")
assert.Contains(t, cmd.Long, "...", "help text should mention full github.com URL guidance")

i️ Test-to-production line ratio > 2:1 — pkg/cli/fetch_host_hint_test.go

Ratio: 78 test lines / 34 production lines added ≈ 2.3:1
Context: fetch_host_hint_test.go is a new file providing first-time coverage for the newly added hostResolutionHintForNotFound function. The 4 subtests (GHE 404, github.com no-hint, nil/non-404 guard, path normalization) justify the size. This is not test inflation in the negative sense — it is thorough coverage of new logic.

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%). No mock-library or build-tag violations detected. Two minor style notes above are non-blocking.

📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

🧪 Test quality analysis by Test Quality Sentinel · sonnet46 1.2M ·

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: 80/100. Test quality is excellent — 0% of new tests are implementation tests (threshold: 30%). All 4 test functions are behavioral design tests with full edge-case coverage. Two minor non-blocking style notes posted in the review comment above.

@github-actions
Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (201 new lines in pkg/cli and pkg/parser) but does not have a linked Architecture Decision Record (ADR).

📄 Draft ADR committed: docs/adr/34526-ghe-shorthand-cross-host-fallback-for-public-orgs.md — review and complete it before merging.

🔒 This PR cannot merge until an ADR is linked in the PR body.

📋 What to do next
  1. Review the draft ADR committed to your branch — it was generated from the PR diff and captures: widening the public-org allowlist (github, githubnext, microsoft) for GHE cross-host fallback, the new 404-aware hint emitter, and the add-wizard help-text update.
  2. Complete the missing sections — confirm the deciders, sharpen the context with any internal discussion the bot couldn't see, and verify the alternatives are the ones you actually weighed.
  3. Commit the finalized ADR on this branch (the file already exists at docs/adr/34526-...md).
  4. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-34526: GHE Shorthand Cross-Host Fallback for Known Public Orgs

Once an ADR is linked in the PR body, this gate will re-run and verify the implementation matches the decision.

❓ Why ADRs Matter

"AI made me procrastinate on key design decisions. Because refactoring was cheap, I could always say 'I'll deal with this later.' Deferring decisions corroded my ability to think clearly."

ADRs create a searchable, permanent record of why the codebase looks the way it does. Future contributors (and your future self) will thank you — particularly for decisions like the public-org allowlist in this PR, where the membership criteria need to be discoverable when the next org is added.

📋 Michael Nygard ADR Format Reference

An ADR must contain these four sections to be considered complete:

  • Context — What is the problem? What forces are at play?
  • Decision — What did you decide? Why?
  • Alternatives Considered — What else could have been done?
  • Consequences — What are the trade-offs (positive and negative)?

All ADRs are stored in docs/adr/ as Markdown files numbered by PR number (e.g., 34526-...md for this PR).

References: §26372124288

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · opus47 4.2M ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /diagnose and /tdd — requesting changes on two correctness issues.

📋 Key Themes & Highlights

Issues to Address

  1. Wrong command format in the user-facing hint (fetch.go:232) — The hint tells users to run gh aw add-wizard <blob URL>, but add-wizard doesn't accept blob tree URLs. This replaces one misleading error with another.
  2. Overly broad microsoft org fallback (github.go:26) — All microsoft/* repos are routed to github.com on GHE without justification. An enterprise customer could legitimately host microsoft/* repos on their GHE instance.
  3. Fragile 404 detection (fetch.go:219) — strings.Contains(err, "not found") matches unrelated local error messages; the http 404 check alone is sufficient and precise.
  4. Test style inconsistency — New test files use raw t.Fatal/t.Errorf rather than testify/assert used everywhere else in the suite.

Positive Highlights

  • ✅ Clean generalisation from hard-coded repo names to an org-level switch — the right shape of fix
  • hostResolutionHintForNotFound is well-isolated and independently testable
  • ✅ Good path-normalisation test (leading-slash case)
  • ✅ Both CLI and parser layers updated consistently, avoiding split behavior

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · sonnet46 1.3M

Comment thread pkg/cli/github.go Outdated
return string(constants.PublicGitHubHost)
parts := strings.SplitN(repo, "/", 2)
if len(parts) > 0 {
switch parts[0] {
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.

[/diagnose] The microsoft org addition is a significant blast-radius expansion without a clear justification in the PR body.

github and githubnext are GitHub-owned orgs whose public workflows (e.g. githubnext/agentics) only live on github.com. microsoft is a broad third-party org — a GHE customer could legitimately mirror or host microsoft/* repos on their enterprise instance. Routing all microsoft/* repos to github.com on GHE would silently bypass their enterprise host and break those workflows.

💡 Suggestion

Either narrow the list back to explicitly known public-GitHub-only orgs, or add a comment explaining why microsoft is safe to hardcode here:

// github and githubnext are GitHub-owned organisations whose workflow libraries
// are exclusively on public GitHub.
// microsoft/* is included because <reason>.
case "github", "githubnext", "microsoft":

If the intent is only the microsoft/gh-aw-* workflows, a repo-prefix check may be safer than a blanket org match.

Comment thread pkg/cli/fetch.go Outdated
}

errorText := strings.ToLower(err.Error())
if !strings.Contains(errorText, "not found") && !strings.Contains(errorText, "http 404") {
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.

[/diagnose] strings.Contains(errorText, "not found") is a broad heuristic that will also match non-404 error messages containing the phrase "not found" (e.g. "reference not found", "workflow file not found in local path").

💡 Suggestion

Match on the HTTP status code substring more precisely, or use a sentinel error type/interface if the GitHub client returns one:

// More specific: match on the HTTP 404 status code string
if !strings.Contains(errorText, "http 404") && !strings.Contains(errorText, "status 404") {
    return "", false
}

Alternatively, check if the error wraps an *github.ErrorResponse with StatusCode == 404. This avoids false positives from local "not found" messages.

Comment thread pkg/cli/fetch.go
}

trimmedPath := strings.TrimPrefix(workflowPath, "/")
fullURL := fmt.Sprintf("https://github.com/%s/%s/blob/%s/%s", owner, repo, ref, trimmedPath)
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.

[/diagnose] The hint tells users to run gh aw add-wizard https://github.com/owner/repo/blob/ref/workflows/foo.md, but add-wizard accepts shorthand specs (owner/repo/workflow-name[@Version]) or https://github.com/owner/repo repo URLs — not blob/ tree URLs. A user who copies this command verbatim will get a new error.

💡 Suggestion

Emit a shorthand-style URL or a plain owner/repo/workflow spec instead:

// Use the three-part shorthand format that add-wizard actually accepts
hint := fmt.Sprintf(
    "Shorthand specs resolved on %s. Try using the full github.com URL: gh aw add-wizard %s/%s/%s@%s",
    resolvedHost, owner, repo, trimmedPath, ref,
)

Or at minimum strip blob/<ref>/ from the path so the resulting URL is the raw file URL, not a web-UI blob link.

Comment thread pkg/cli/fetch_host_hint_test.go Outdated
if !strings.Contains(hint, "resolved on ghe.example.com") {
t.Fatalf("expected host in hint, got: %s", hint)
}
if !strings.Contains(hint, "https://github.com/githubnext/agentics/blob/main/workflows/daily-repo-status.md") {
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.

[/tdd] These tests use raw t.Fatal/t.Fatalf instead of testify/assert and testify/require, which is inconsistent with the rest of the test suite (e.g. pkg/cli/github_test.go uses assert.Equal).

💡 Suggestion
import (
    "github.com/stretchr/testify/assert"
    "github.com/stretchr/testify/require"
)

hint, ok := hostResolutionHintForNotFound(...)
require.True(t, ok, "expected hint for GHE shorthand 404")
assert.Contains(t, hint, "resolved on ghe.example.com")
assert.Contains(t, hint, "https://github.com/githubnext/agentics/blob/main/workflows/daily-repo-status.md")

Same applies to pkg/parser/github_host_test.go which uses t.Errorf directly.

@github-actions
Copy link
Copy Markdown
Contributor

@copilot review all comments
Please address the unresolved review feedback, then rerun checks after the requested changes land.

Generated by 👨‍🍳 PR Sous Chef · gpt54 4.2M ·

@github-actions
Copy link
Copy Markdown
Contributor

@copilot Please summarize the remaining blockers and next steps for this PR.

Generated by 👨‍🍳 PR Sous Chef · gpt54 7.5M ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all comments, merge main recompile fix conflicts

Copilot AI and others added 2 commits May 24, 2026 23:16
…ard-confusing-wf-resolution

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 24, 2026

@copilot review all comments, merge main recompile fix conflicts

Done. I merged main and resolved conflicts in 1c7bdd73a5, then addressed the review feedback in 945829f478 (explicit-host hint suppression + host normalization + conditional add-wizard GHE help text). Recompiled and ran targeted CLI tests.

@github-actions
Copy link
Copy Markdown
Contributor

@copilot review all comments and address the unresolved review feedback on this PR.

Then please summarize the remaining blockers or confirm the latest commit is ready for re-check.

Generated by 👨‍🍳 PR Sous Chef · gpt54 2.7M ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all commands: add/update as well

Copilot AI and others added 4 commits May 25, 2026 00:40
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…-text test

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 25, 2026

@copilot review all commands: add/update as well

Done. I reviewed and updated add/update as well. Changes are in 9b5972a (add/update guidance + generic fetch hint), with follow-up test refinements in 9bd906e, 7a37e23, and 25bbb15. Recompiled and reran targeted CLI tests, then final validation passed.

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot all the pull request reviews from github-action bot

Copilot AI and others added 2 commits May 25, 2026 00:58
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 25, 2026

@copilot all the pull request reviews from github-action bot

Handled the github-actions bot review items in 12735f6: removed the redundant SplitN guard, tightened 404 hint matching, suppressed the SHA retry suggestion when cross-host hint applies, switched the new tests to testify assertions, and added explicit rationale for microsoft/* fallback in host-resolution comments. Targeted CLI/parser tests and final validation are passing.

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main recompile fix conflicts

…gh-aw-add-wizard-confusing-wf-resolution

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 25, 2026

@copilot merge main recompile fix conflicts

Done in b5b9b3c2da. I merged origin/main, resolved the conflict in .github/workflows/daily-doc-healer.md, recompiled (make build), and reran targeted tests (go test ./pkg/cli ./pkg/parser). Final validation is passing.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

gh aw add-wizard on GHE: confusing cross-host workflow resolution (github.com workflow source)

3 participants