Skip to content

Fix .silol.series generation#1591

Open
wilfonba wants to merge 1 commit into
MFlowCode:masterfrom
wilfonba:IOFix
Open

Fix .silol.series generation#1591
wilfonba wants to merge 1 commit into
MFlowCode:masterfrom
wilfonba:IOFix

Conversation

@wilfonba

Copy link
Copy Markdown
Contributor

This PR moves the generation of the .silo.series file before the failure message in MFC.sh. If post process failed, then the silo series file wouldn't be generated. I'm not sure how this got reordered, because I thought I'd done the correct ordering when I first merged this. Git blame shows that I just did it wrong though.

@wilfonba wilfonba requested a review from sbryngelson as a code owner June 13, 2026 17:15
Copilot AI review requested due to automatic review settings June 13, 2026 17:15

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

Note

Copilot was unable to run its full agentic suite in this review.

This PR fixes the ordering of .silo.series generation so it happens before the post-process failure path in MFC.sh, ensuring the series file is still produced when post-processing fails.

Changes:

  • Move the generate_silo_series.py invocation earlier in the post_process target block.
  • Ensure .silo.series generation occurs before the $code == 22 early-exit error message.

Comment on lines +90 to +92
% if target.name == 'post_process':
python3 "${MFC_ROOT_DIR}/toolchain/templates/include/generate_silo_series.py" '${os.path.dirname(input)}'
% endif
@github-actions

Copy link
Copy Markdown

Claude Code Review

Head SHA: a15d799

Files changed:

  • 1
  • toolchain/templates/include/helpers.mako

Findings

generate_silo_series.py now runs unconditionally on failed post_process runs (toolchain/templates/include/helpers.mako, run_epilogue)

The moved block:

% if target.name == 'post_process':
    python3 "${MFC_ROOT_DIR}/toolchain/templates/include/generate_silo_series.py" '${os.path.dirname(input)}'
% endif

was previously placed after if [ $code -ne 0 ]; then … exit 1; fi, so it only executed when post_process returned 0. After this PR it is placed before both the code -eq 22 and code -ne 0 guards, meaning it now runs unconditionally — including when post_process failed (exit code 22 for case-file errors, or any other non-zero code).

Consequence: on a failed run the script will attempt to build a silo series from incomplete or corrupted output files. Any error it produces will be printed before the actual failure message, making diagnosis harder, and — if the silo generation itself exits non-zero — the $code value has already been captured, so that secondary failure is silently swallowed.

The fix is to restore the call to its original location (after the code -ne 0 exit guard), or to add an explicit if [ $code -eq 0 ] guard around it.

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