Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .cortexkit/WORKER.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ A check that prints nothing and exits 0 is not a pass unless this guide says tha

### Build server jobs (`runon`)

- **Size the job to the work.** Each vCPU you request holds one of the server's shared slots for the whole job. A mutation loop recompiles one mutant at a time, and a single test binary uses about one core, so both use `linux,2c`. A full-suite gate uses `linux,8c` with a timeout of at most 7,200 s: jobs that small may run in a cloud sandbox when the build server is full, while larger or longer jobs wait for a server slot.
- **Size the job to the work.** Each vCPU you request holds one of the server's shared slots for the whole job. A filtered test run builds and runs one test binary, which uses about one core, so it uses `linux,2c`. Workers do not run the full suite; your head runs it once when it integrates several deliveries. If a job is refused with `queue_wait_exceeded` while waiting on permits (`waiting_on=permits`, or an older job ahead needs more free permits), resubmit it with fewer vCPUs (down to `linux,1c`) rather than waiting or asking: a smaller job compiles slower but starts. If the refusal says an earlier job still holds your workspace, fewer vCPUs won't help: wait for that job to finish, or stop it with `bash_kill` if it is yours and no longer needed.
- **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.
Expand Down Expand Up @@ -68,5 +68,5 @@ New test files go under `src/__tests__/`. A guard fails the suite on any test fi
Release snapshots are automatically prepared and validated by `release.sh`
and the publish workflow, outside Git. To validate a saved snapshot without
regenerating it: `node scripts/release-gate-v049.mjs --snapshot-dir <dir> --candidate`.
- Show a failing test before the fix. Show a mutation check for each fix: revert the fix, name the test that fails and paste the failure, restore, and show `git diff --stat` empty.
- Test what you changed, and only that. For a bug fix, add a test that fails without the fix. Run the filtered tests for the code you touched in one job, plus the Windows compile when you changed platform-specific code. Do not run the full suite, mutation or break checks (reverting a fix to show a test fails), or repeated runs to prove stability: each one recompiles the whole crate and holds a shared build-server slot. Your head integrates several deliveries and runs the full suite once.
- If a gate could not run, say which one and why. Do not report it as passed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"targeted_mechanism": "none",
"kind": "harness",
"slice_class": "non_ranking",
"fixtures": [
"harness-goldens"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"targeted_mechanism": "none",
"kind": "harness",
"slice_class": "non_ranking",
"fixtures": [
"harness-goldens"
]
}
Loading