diff --git a/.cortexkit/WORKER.md b/.cortexkit/WORKER.md index 583e23be61..cf0ba1f6c3 100644 --- a/.cortexkit/WORKER.md +++ b/.cortexkit/WORKER.md @@ -27,6 +27,7 @@ not need it; production and release builds must never enable it. - **Commit first, then submit, in separate steps.** The job snapshots the checkout when it is accepted. A commit sent in the same parallel step can land after the snapshot. Print `git log -1` as the job's first line so the output shows what ran. - **Keep gate scripts out of ignored paths.** The job copies tracked and untracked files, but not ignored ones, so a script under `.cortexkit/` or `target/` is missing on the server. - **Write long output to a file inside the job and print a summary.** A job that streams tens of megabytes back can lose its connection and come back with an unknown result. +- **Keep a heartbeat on stdout.** When output goes to a file, also print a short progress line at least once a minute (for example `tail -f` of that file in the background, or a phase line per step). Nobody can see inside a running job, the build-server owner included, so a silent job can't be told apart from a hung one. Give each long step inside the job its own time limit that prints which step it was in when it fires. - **Build a scratch copy of the source with its own target folder.** Linux jobs share the checkout's warm build folder (`CARGO_TARGET_DIR=/run/motor/target`). A copy built there, for example a red-first proof under `$TMPDIR`, leaves its outputs where later jobs in the real checkout reuse them as current, so a gate can pass on old code. Give the copy `CARGO_TARGET_DIR=$TMPDIR/copy-target` or `--target-dir`. If it already happened, `cargo clean -p ` repairs it. Mandatory when you touch them: diff --git a/benchmarks/aft-search/slice-descriptors/land-worker-heartbeat.json b/benchmarks/aft-search/slice-descriptors/land-worker-heartbeat.json new file mode 100644 index 0000000000..ebd574711e --- /dev/null +++ b/benchmarks/aft-search/slice-descriptors/land-worker-heartbeat.json @@ -0,0 +1,8 @@ +{ + "targeted_mechanism": "none", + "kind": "harness", + "slice_class": "non_ranking", + "fixtures": [ + "harness-goldens" + ] +}