Skip to content

Handle EOL-Only Prose Diffs - #881

Merged
ptr727 merged 3 commits into
developfrom
fix/issues-869-870
Aug 20, 2026
Merged

Handle EOL-Only Prose Diffs#881
ptr727 merged 3 commits into
developfrom
fix/issues-869-870

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Summary

  • Ignore carriage-return-only differences when scoping prose findings.
  • Cover EOL renormalization and genuine content edits with a Git-backed regression test.
  • Identify repo-config paths as hub-hosted in the workflow skill reference.

Addresses #869 and #870.

Verification

  • ruff check and format check
  • mypy
  • 731 Python unit tests with 79% aggregate coverage
  • build distribution, repository, prose, JSON, and spec gates

The executor's Docker daemon could not expose the worktree to the read-only container mounts, so the editorconfig-checker, ShellCheck, and PSScriptAnalyzer container gates were unavailable locally.

CopilotAI lite review requested due to automatic review settings August 20, 2026 20:37

CopilotAI 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

Updates the prose-gate scoping logic so a CRLF↔LF renormalization commit doesn’t get treated as “every line changed,” and adds regression coverage plus documentation updates to reflect hub-hosted repo-config/ paths.

Changes:

  • Add --ignore-cr-at-eol to the git diff used by prose_lint.changed_lines() so EOL-only diffs don’t expand the scope.
  • Add a Git-backed unit test covering EOL-only renormalization vs genuine content edits.
  • Update operational workflow skill references (and generated copies) to describe repo-config/ as hub-hosted; refresh the plugin source digest.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
scripts/tests/test_prose_lint.pyAdds an integration-style regression test for EOL-only diffs vs real prose edits.
.github/actions/prose-gate/prose_lint.pyAdjusts diff invocation to ignore CR-at-EOL changes when computing changed line scope.
.github/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.mdUpdates documentation to explicitly reference hub checkouts and hub-hosted repo-config/ paths.
.agents/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.mdMirrors the same doc update for the agent skill distribution copy.
.claude-plugin/fleet-skills/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.mdMirrors the same doc update for the Claude plugin skill copy.
.claude-plugin/fleet-skills/.source-digestUpdates the digest to match the regenerated plugin content.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment threadscripts/tests/test_prose_lint.py
CopilotAI review requested due to automatic review settings August 20, 2026 20:43

CopilotAI 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

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (1)

scripts/tests/test_prose_lint.py:1743

  • The new test creates a temporary git repo and commits, but it doesn’t disable commit signing. If a developer has commit.gpgsign=true globally, git commit here can fail (missing key/pinentry), making the test non-hermetic. Other tests in this file explicitly set commit.gpgsign=false for this reason.
 subprocess.run(["git", "-C", str(root), "config", "core.autocrlf", "false"], check=True)
subprocess.run(["git", "-C", str(root), "config", "user.name", "Test"], check=True)
subprocess.run(
["git", "-C", str(root), "config", "user.email", "test@example.invalid"], check=True
)

CopilotAI review requested due to automatic review settings August 20, 2026 20:47
@ptr727

Copy link
Copy Markdown
OwnerAuthor

Suppressed findings (1)

scripts/tests/test_prose_lint.py:1743: The temporary Git repository does not disable commit signing, so global commit.gpgsign=true can make the test non-hermetic.

Fixed in 87aa49c. The test now sets commit.gpgsign=false inside its temporary repository before committing.

Review round: #881 (review)

CopilotAI 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

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit 6d7800c into developAug 20, 2026
8 checks passed
@ptr727ptr727 mentioned this pull request Aug 20, 2026
ptr727 added a commit that referenced this pull request Aug 20, 2026
## Summary
Promote the reviewed prose-gate and workflow-skill fixes from develop.
- Ignore carriage-return-only differences when scoping prose findings.
- Keep genuine content changes in the prose diff scope.
- Describe repo-config paths consistently as hub-hosted.
Closes#869.
Closes#870.
## Included Pull Requests
- #881
Sign up for freeto 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.

2 participants

@ptr727