Skip to content

chore: pin ffmt 0.4.5 - #1806

Merged
sbryngelson merged 2 commits into
masterfrom
chore/pin-ffmt-0.4.5
Sep 3, 2026
Merged

chore: pin ffmt 0.4.5#1806
sbryngelson merged 2 commits into
masterfrom
chore/pin-ffmt-0.4.5

Conversation

@sbryngelson

@sbryngelson sbryngelson commented Sep 2, 2026

Copy link
Copy Markdown
Member

Bumps the ffmt pin in toolchain/pyproject.toml from 0.4.4 to 0.4.5. One line, no source changes.

Why

0.4.5 fixes a comment re-wrap bug (sbryngelson/ffmt#9, sbryngelson/ffmt#11). An over-long ! comment was wrapped in isolation, so its tail was emitted as a standalone one-word line:

            ! Indices for U and F: (rho, rho*vel(1), rho*vel(2), rho*vel(3), By, Bz, E) Note: vel and B are permutated, so vel(1) is
            ! the
            ! normal velocity, and x is the normal direction

Adding one indent level to an existing block was enough to trigger it, because indent-fypp = true pushes comments that sit near the limit over it. That is how a structural edit became a prose rewrite: guarding four Riemann-solver bodies in #:if, a 31-line logical change, produced a 2722-insertion / 2643-deletion diff, and git diff -w still showed 355/276 because the re-wrapping was not whitespace-only.

In 0.4.5 the overflow moves into the following prose line of the same block instead. Only running text takes part: any marker (!!, !>, !<, !*, !@, !$, !&, vendor directives such as !DEC$), separator banners, bullets and numbered items, TODO:-style tags, aligned comments and ! ffmt off end the block and are never rewritten.

No reformat needed

0.4.5 produces byte-identical output to 0.4.4 on this repository. Against master with the checked-in .ffmt.toml:

  • ffmt --check src exits 0
  • a full ffmt src write pass changes zero files

The fix only engages when a comment actually overflows, and nothing in src/ overflows at the configured line-length = 132 today. So this pin is protection for future edits rather than a formatting change, and the Formatting CI job should stay green with no diff.

Upstream verification for the release covered all 99 Fortran and Fypp files here at line-length 132, 100, 80 and 72: zero content divergence at every width (every non-comment line identical, every comment word identical in order and marker), no new over-limit lines, and idempotency on a second pass.


Acknowledgement

  • I confirm this PR meets the above expectations and reflects my own understanding and real-world context.

Picks up the comment re-wrap fix (sbryngelson/ffmt#9). An over-long `!`
comment used to be wrapped in isolation, so its tail was emitted as a
standalone one-word line. Adding one indent level to an existing block,
for example by wrapping it in `#:if`, was enough to push a comment over
the limit and mangle it, which is how a structural edit turned into a
prose rewrite and buried the real change in the diff.

No source changes. ffmt 0.4.5 produces byte-identical output to 0.4.4 on
all of src/ at MFC's line-length of 132: `ffmt --check src` passes and a
full write pass changes no files. The fix only engages when a comment
actually overflows, so this is protection for future edits rather than a
reformat.
Copilot AI lite review requested due to automatic review settings September 2, 2026 20:55

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.

Warning

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Pull request overview

Updates the toolchain dependency pin for ffmt to incorporate upstream bugfixes without changing repository source formatting.

Changes:

  • Bump ffmt from 0.4.4 to 0.4.5 in the toolchain dependency set.

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

@codecov

codecov Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.26%. Comparing base (814f7a5) to head (0de5f8d).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1806   +/-   ##
=======================================
  Coverage   62.26%   62.26%           
=======================================
  Files          84       84           
  Lines       21558    21558           
  Branches     3188     3188           
=======================================
  Hits        13423    13423           
  Misses       5937     5937           
  Partials     2198     2198           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sbryngelson
sbryngelson merged commit 8fc5783 into master Sep 3, 2026
85 of 90 checks passed
@sbryngelson
sbryngelson deleted the chore/pin-ffmt-0.4.5 branch September 3, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants