Skip to content

[evoskill] Refine resolve-merge-conflicts skill: detect leftover conflict markers - #57601

Merged
pelikhan merged 1 commit into
mainfrom
evoskill/resolve-merge-conflicts-marker-scan-5a7703931b077314
Sep 1, 2026
Merged

[evoskill] Refine resolve-merge-conflicts skill: detect leftover conflict markers#57601
pelikhan merged 1 commit into
mainfrom
evoskill/resolve-merge-conflicts-marker-scan-5a7703931b077314

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

test

Generated by PR Description Updater for #57601 · copilot · auto · 56.6 AIC · ⌖ 9.13 AIC · ⊞ 7.7K ·

Add a --verify-markers scan to resolve.sh that checks .github/workflows/*.md
source files for leftover git conflict-marker lines (<<<<<<<, |||||||,
=======, >>>>>>>), and run it automatically before make recompile in the
merge flow. A stray marker left in a workflow frontmatter after a manual
conflict resolution is parsed by the gh-aw compiler as an invalid YAML
header option, causing compile failures later (often in an unrelated
scheduled recompilation run), and git diff --check does not catch markers
already committed in unchanged content.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@github-actions github-actions Bot left a comment

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.

Protected files were modified in this pull request and require manual scrutiny before merge.

Please verify that each protected-file change is intentional, policy-compliant, and safe:

  • Protected files: .github/skills/resolve-merge-conflicts/SKILL.md, .github/skills/resolve-merge-conflicts/resolve.sh

@pelikhan
pelikhan marked this pull request as ready for review September 1, 2026 05:14
Copilot AI balanced review requested due to automatic review settings September 1, 2026 05:14
@pelikhan
pelikhan merged commit 3adb638 into main Sep 1, 2026
@pelikhan
pelikhan deleted the evoskill/resolve-merge-conflicts-marker-scan-5a7703931b077314 branch September 1, 2026 05:14
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

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

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

PR Code Quality Reviewer completed the code quality review.

Review already submitted before background grumpy-coder finished. Its findings referenced unrelated files outside PR #57601's changed lines, so they were discarded per review policy.

Warning

Firewall blocked 1 domain

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

  • github.com

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

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Security scanning failed for Ponytail Reviewer. Review the logs for details.

Lean already. Ship.

Warning

Firewall blocked 1 domain

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

  • ab.chatgpt.com

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

network:
  allowed:
    - defaults
    - "ab.chatgpt.com"

See Network Configuration for more information.

Generated by Ponytail Reviewer for #57601

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Test Quality Sentinel completed test quality analysis.

No test files were added or modified in this PR. Test Quality Sentinel skipped. Changes are limited to skill documentation (.github/skills/resolve-merge-conflicts/SKILL.md) and shell script implementation (.github/skills/resolve-merge-conflicts/resolve.sh).

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

Comment Memory

reviewed_at: 2026-09-01T05:16:49Z
review_event: COMMENT
top_themes:
  - no actionable changed-line issues found
  - non-functional mode-bit drift on resolve.sh
files_reviewed:
  - .github/skills/resolve-merge-conflicts/SKILL.md
  - .github/skills/resolve-merge-conflicts/resolve.sh
comment_count: 0

Note

This comment is managed by comment memory.

It stores persistent context for this thread in the code block at the top of this comment.
Edit only the text inside the backtick fences; workflow metadata and the footer are regenerated automatically.

Learn more about comment memory

Warning

Firewall blocked 1 domain

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

  • github.com

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

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 25.7 AIC · ⌖ 7.34 AIC · ⊞ 21.8K ·
Comment /review to run again

@github-actions github-actions Bot left a comment

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.

Verdict

I did not find a changed-line bug here that justifies blocking the PR. The new marker scan closes a real failure mode, and the remaining diff is documentation plus one accidental file-mode change.

Highlights
  • resolve.sh now fails before make recompile when a workflow source file still contains merge markers, which matches the documented failure mode.
  • The regex intentionally avoids matching ordinary Markdown/YAML content that merely contains repeated punctuation later in a line.
  • The only thing worth watching is the mode drift on resolve.sh (100755 -> 100644); if this script is meant to stay directly executable from the skill docs, the execute bit should be restored before merge.

Warning

Firewall blocked 1 domain

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

  • github.com

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

network:
  allowed:
    - defaults
    - "github.com"

See Network Configuration for more information.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt54 · 25.7 AIC · ⌖ 7.34 AIC · ⊞ 21.8K
Comment /review to run again

@github-actions github-actions Bot left a comment

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.

Skills-Based Review 🧠

Applied /diagnosing-bugs — the change directly addresses a real, recurring root cause with clear CI evidence. Approving with two minor observations worth a follow-up pass.

📋 Key Themes & Highlights

Key Themes

  • Root cause addressed: The diff3 ||||||| marker slipping past git diff --check and being parsed as YAML is the actual failure mechanism, and the fix targets it precisely.
  • Regex correctness: ^(<{7}|\|{7}|={7}|>{7})([^=<>|]|$) correctly requires exactly 7 leading chars, avoiding 8-char sequences. False-positive risk in real workflow Markdown is very low.
  • Scope gap: Only maxdepth 1 under .github/workflows/ is scanned — skills .md files with YAML frontmatter are not covered (see inline comment).

Positive Highlights

  • --verify-markers is a clean, standalone, read-only mode — easy to run ad-hoc.
  • || true suppression correctly prevents grep non-match exit codes from triggering set -e.
  • ✅ Excellent PR description with CI run links as evidence — great debugging hygiene.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet46 · 37.8 AIC · ⌖ 18 AIC · ⊞ 7.6K
Comment /matt to run again

echo "$matches" >&2
fi
done < <(find .github/workflows -maxdepth 1 -name '*.md' -print0 2>/dev/null)

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.

[/diagnosing-bugs] The scan covers only maxdepth 1 under .github/workflows/, but skill YAML frontmatter in .github/skills/**/*.md could also receive manual conflict resolution and carry the same stray-marker risk. The observed failure was in a workflow .md, so the current scope is correct for the reported bug — worth documenting why the boundary is intentional.

💡 Consider a comment explaining the scope boundary

A comment next to the find call would prevent future "why don't we also scan skills?" questions:

# Scan only workflow sources — skill .md files don't feed make recompile,
# so a stray marker there is less immediately harmful.
find .github/workflows -maxdepth 1 -name '*.md' -print0 2>/dev/null

@copilot please address this.

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.

🔵 Needs a closer look

The scan omits imported shared workflow files, and protected automation changes require human scrutiny.

Pull request overview

Adds proactive conflict-marker detection before workflow recompilation.

Changes:

  • Adds standalone and automatic marker verification.
  • Documents the failure mode and usage.
File summaries
File Description
SKILL.md Documents marker detection and recovery.
resolve.sh Scans workflow Markdown before recompilation.
Review details
  • Files reviewed: 2/2 changed files
  • Comments generated: 2
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

fi

# A manually resolved .md source conflict can silently leave behind a
# conflict-marker line (e.g. "|||||| base (original)") that git diff --check
echo "error: leftover conflict marker(s) in $file:" >&2
echo "$matches" >&2
fi
done < <(find .github/workflows -maxdepth 1 -name '*.md' -print0 2>/dev/null)

@github-actions github-actions Bot left a comment

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.

The --verify-markers addition is well-implemented and the rationale in SKILL.md is clear and useful. Shell logic is correct: grep || true prevents false set -e triggers, (( hits )) is safely guarded inside if, and local matches is declared before assignment to preserve exit-code semantics. Covering all four conflict markers including the diff3 ||||||| marker is a notable improvement. No blocking issues found.

🧵 Reviewed using Impeccable skills by Impeccable Skills Reviewer · copilot · sonnet46 · 23.9 AIC · ⌖ 14.6 AIC · ⊞ 6.2K

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

🎉 This pull request is included in a new release.

Release: v0.88.0

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.

2 participants