Skip to content

Commit 7263f68

Browse files
committed
no-mistakes(document): Refresh behavior sharding documentation
1 parent 622eb71 commit 7263f68

4 files changed

Lines changed: 5 additions & 5 deletions

File tree

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ tmp=$(mktemp -d) && printf 'done: smoke\n' > "$tmp/smoke.status" && FM_STATE_OVE
7979
Agent Fleet is independently packaged under `tools/agent-fleet` and requires Python 3.11 or newer plus `uv`.
8080
Run the complete locked verification in [`tools/agent-fleet/RELEASING.md`](tools/agent-fleet/RELEASING.md) before pushing; that document also owns versioning, tagging, and clean-install verification.
8181

82-
Discover tests by listing `tests/*.test.sh`: each is a self-contained bash script named `<subject>.test.sh`, and its header comment describes what it covers, so run one directly to focus on a subject.
83-
When triaging a red `Behavior tests` job, remember that CI runs that loop under `set -eu` while the local loop above does not: CI stops at the first failing script, so its log proves nothing about the suites that sort after it, and a red job is a lower bound on the failure count rather than the whole list.
82+
Discover behavior-test entrypoints by listing `tests/*.test.sh` and run one directly to focus on a subject; partition wrappers source their matching `tests/*-suite.sh` implementation.
83+
When triaging a red behavior shard, use its begin and end markers to identify each failing script: the shard continues through its complete assignment and records every exit code before the final `Behavior tests` job verifies the executed union.
8484
Reproduce with the exclusion-aware local loop to see every safe failure at once before concluding which ones are real.
8585
Reproduce in a checkout whose `origin` is the repository's https URL, as CI's own checkout is: the secondmate network-authority fixtures assert that the product pins the resolved address of the origin host, and a checkout whose `origin` is a local filesystem path has no host to pin, so those cases refuse for a reason that exists only locally.
8686
Run the suites from a checkout sitting on its default branch, not from a task-branch worktree - the worktree-tangle guard fires and several secondmate suites require the default branch, which produces more failures that are pure local artifacts.

docs/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ See [`wedge-alarm.md`](wedge-alarm.md) for the channel reference and macOS verif
9494
The tracked `.no-mistakes.yaml` keeps test evidence outside the repo and defines `commands.test` so no-mistakes runs firstmate's bash behavior suite directly.
9595
That evidence policy is specific to the firstmate repo: target projects may legitimately commit `.no-mistakes/evidence/` from their own no-mistakes pipeline, but firstmate keeps `.no-mistakes/` local and CI rejects tracked entries under that path.
9696
That command requires `tmux` on `PATH`, prints `tmux -V`, runs every `tests/*.test.sh` with `bash`, and fails if any script exits non-zero.
97-
It intentionally mirrors the behavior-test baseline in [`.github/workflows/ci.yml`](../.github/workflows/ci.yml) instead of delegating the test step to an agent.
97+
It intentionally runs the complete behavior-test inventory serially instead of reproducing the duration-balanced CI sharding owned by [`bin/fm-behavior-shards.sh`](../bin/fm-behavior-shards.sh) or delegating the test step to an agent.
9898

9999
## Captain preferences (data/captain.md)
100100

tests/fm-fleet-sync.test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ build_packed_prunable() {
139139

140140
plant_packed_refs_lock() { : > "$1/.git/packed-refs.lock"; }
141141

142-
# lsof shims mirror tests/fm-teardown.test.sh: no-holder (provably free), a live
142+
# lsof shims mirror tests/fm-teardown-suite.sh: no-holder (provably free), a live
143143
# holder, and an lsof error. Written into a per-home fakebin/ prepended to PATH.
144144
lsof_no_holder() {
145145
cat > "$1/lsof" <<'SH'

tests/fm-gotmp.test.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#
88
# The fm-spawn side is verified both structurally (the source has the contract lines)
99
# and behaviorally (the mkdir + meta-write pattern it uses).
10-
# Teardown cleanup is covered by tests/fm-teardown.test.sh's full lifecycle fixture.
10+
# Teardown cleanup is covered by tests/fm-teardown-suite.sh's full lifecycle fixture.
1111
set -u
1212

1313
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

0 commit comments

Comments
 (0)