Skip to content

Commit bcace24

Browse files
authored
Merge branch 'master' into feat/ramped-inflow
2 parents a0fd312 + dc0aec1 commit bcace24

40 files changed

Lines changed: 1578 additions & 409 deletions

.claude/CLAUDE.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
* New branches cannot be made on MFlowCode/MFC, they are made on forks
2+
* PRs:
3+
* made using AI tools like Claude Code and Codex should say so.
4+
* are made from those MFC forks
5+
* that change CFD results need verification that the PR is correct
6+
* follow template
7+
* that break a feature but promise a followup PR to fix it are rejected
8+
* Commands:
9+
* MFC should almost always build and run using the ./mfc.sh command
10+
* Running mfc.sh commands can create a lock file in build/ that is sticky, be careful
11+
* Programming and Design:
12+
* New code should follow the DRY principle and also make side-effect code DRY as well
13+
* Comments should be as short as possible without sacrificing value
14+
* GPU macros should follow the source's existing GPU macro principles and patterns
15+
* Functions/subroutines/modules shorter is better while being correct, fast, and separating concerns

.claude/rules/common-pitfalls.md

Lines changed: 0 additions & 173 deletions
This file was deleted.

.github/scripts/preflight.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@ fi
5757
# microarchitecture dies with SIGILL, which would be reported as a bad node and
5858
# get a perfectly healthy one excluded.
5959
newest_syscheck() {
60-
find "$@" -name syscheck -type f -printf '%T@ %p\n' 2>/dev/null \
61-
| sort -rn | head -1 | cut -d' ' -f2-
60+
# ls -t rather than find -printf: -printf is GNU-only, and on a BSD find it
61+
# fails into 2>/dev/null, so discovery silently returns nothing and every
62+
# probe is skipped as "no syscheck binary".
63+
find "$@" -name syscheck -type f -exec ls -t {} + 2>/dev/null | head -1
6264
}
6365

6466
syscheck_bin=$(newest_syscheck build/install -path "*${device}*")
@@ -132,7 +134,9 @@ run_probe() {
132134
fi
133135
}
134136

135-
run_probe "${launcher[@]}"
137+
# ${arr[@]+"${arr[@]}"} rather than "${arr[@]}": under set -u, bash 3.2 (which is
138+
# what macOS ships) treats an empty array expansion as an unbound variable.
139+
run_probe ${launcher[@]+"${launcher[@]}"}
136140

137141
# If this launcher does not take the flags we added, drop them and probe again
138142
# rather than reporting a verdict about the node. Otherwise a launcher that

.github/workflows/claude-code-review.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ jobs:
206206
207207
Hard scope rules:
208208
- Do NOT inspect checked-out repository code except:
209-
- ./CLAUDE.md
209+
- ./.claude/CLAUDE.md
210210
- ./.claude/rules/*.md (max 10 files)
211211
- ${{ steps.review_input.outputs.review_diff_path }}
212212
- ${{ steps.review_input.outputs.changed_files_path }}
@@ -225,7 +225,7 @@ jobs:
225225
226226
Allowed workflow:
227227
1) ls -1 .claude/rules 2>/dev/null || true
228-
2) cat CLAUDE.md 2>/dev/null || true
228+
2) cat .claude/CLAUDE.md 2>/dev/null || true
229229
3) find .claude/rules -maxdepth 1 -name "*.md" -print | head -n 10 | xargs -I{} cat "{}" 2>/dev/null || true
230230
4) cat "${{ steps.review_input.outputs.changed_files_path }}"
231231
5) cat "${{ steps.review_input.outputs.review_diff_path }}"
@@ -238,7 +238,7 @@ jobs:
238238
- Do NOT restate the full PR summary.
239239
- If there are no high-confidence findings, leave .claude-review/output.md empty and STOP.
240240
241-
Review standard (in priority order per CLAUDE.md "Code Review Priorities"):
241+
Review standard (in priority order):
242242
1. Correctness (logic bugs, numerical issues, array bounds)
243243
2. Precision discipline (stp vs wp mixing)
244244
3. Memory management (@:ALLOCATE/@:DEALLOCATE pairing, GPU pointer setup)

.github/workflows/homebrew-release.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: Update Homebrew Formula on Release
22

3-
# Triggers when a new version tag is pushed
3+
# Triggers when a release is published. Not `push: tags`, which GitHub skips
4+
# when the tagged commit message carries [skip ci] -- that silently dropped the
5+
# v5.6.0 and v5.7.0 formula updates, while docker.yml fired for both because a
6+
# release event is not a push event.
47
on:
5-
push:
6-
tags:
7-
- 'v*'
8+
release:
9+
types: [published]
810
pull_request:
911
branches: [master]
1012
paths:
@@ -28,6 +30,9 @@ permissions:
2830
jobs:
2931
update-homebrew-tap:
3032
name: Update homebrew-mfc tap
33+
# A prerelease tag (v5.8.0-rc1) would fail the X.Y.Z check below, so skip it
34+
# rather than reporting a red release job.
35+
if: ${{ github.event_name != 'release' || !github.event.release.prerelease }}
3136
runs-on: ubuntu-latest
3237
environment:
3338
name: homebrew
@@ -44,8 +49,9 @@ jobs:
4449
VERSION="5.2.0"
4550
echo "::notice::PR test mode - using version $VERSION"
4651
else
47-
# Extract version from tag (remove 'v' prefix)
48-
VERSION="${GITHUB_REF#refs/tags/v}"
52+
# Extract version from the released tag (remove 'v' prefix)
53+
VERSION="${{ github.event.release.tag_name }}"
54+
VERSION="${VERSION#v}"
4955
fi
5056
5157
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
@@ -97,7 +103,7 @@ jobs:
97103
echo "- Update formula" >> $GITHUB_STEP_SUMMARY
98104
echo "- Push to tap" >> $GITHUB_STEP_SUMMARY
99105
echo "" >> $GITHUB_STEP_SUMMARY
100-
echo "The full workflow will run when a \`v*\` tag is pushed after merge." >> $GITHUB_STEP_SUMMARY
106+
echo "The full workflow will run when a release is published after merge." >> $GITHUB_STEP_SUMMARY
101107
102108
- name: Checkout homebrew-mfc tap
103109
if: ${{ github.event_name != 'pull_request' }}

.lychee.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,5 @@ exclude = [
3333
"https://code\\.visualstudio\\.com/?$", # Root page returns 403 to automated requests
3434
"https://stackoverflow\\.com", # Returns 403 to automated requests
3535
"https://marketplace\\.visualstudio\\.com", # Returns 503 to automated requests
36+
"https://web\\.eng\\.ucsd\\.edu", # San Diego mechanism page has an untrusted SSL cert
3637
]

AGENTS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.claude/CLAUDE.md

0 commit comments

Comments
 (0)