LoadTable

LoadTable is early software. These pages describe the current development build; see Status for what is missing.

Run policy

A repo describes how it is built and tested in .loadtable/run-policy.toml. Agents then run loadtable suite run NAME instead of writing cargo lines by hand, and the policy’s rules apply to every job submitted from that checkout. A repo that still has .tasks/run-policy.toml keeps working; the new location wins when both exist.

loadtable policy show        # the effective policy for this checkout
loadtable suite list
loadtable suite run core-tests
loadtable policy suggest     # proposed edits, with timing evidence

LoadTable never rewrites the file. policy suggest prints a diff for you to review and commit. Unknown keys are errors, so a typo is caught rather than ignored.

An example

version = 1

# --anywhere jobs stay on Linux
[placement]
os = "linux"

[suites.core-tests]
notes = "Run before pushing core changes."
tools = ["cargo"]

[[suites.core-tests.steps]]
name = "fmt"
command = ["cargo", "fmt", "--all", "--check"]
timeout_secs = 120

# expands into one build step plus one step per test executable
[[suites.core-tests.steps]]
name = "core"
command = ["cargo", "test", "-p", "core"]
after = ["fmt"]
split = "cargo-test"
placement = "desktop"
timeout_secs = 3600

[suites.core-tests.targets."test:network"]
isolate = true
note = "binds fixed local ports; must not overlap other network tests"

[suites.core-tests.targets."test:calls"]
light = true
retry_alone = true
note = "many minutes of timers, little CPU; a failure under load is retried alone"

Step and target flags

Key Meaning
after steps that must pass first
placement a machine name for this step
split = "cargo-test" one build, then one step per test executable, longest first
long expected to run long; ordered first
isolate runs with nothing else from the suite at the same time
light little CPU, long wall time: the light pool
retry_alone a failure under load is rerun alone, and the result says whether it then passed
timeout_secs stop the step after this long
skip_in_quick left out of a quick run of the suite

Steps without a policy

A one-off plan can be submitted from a JSON file:

loadtable steps plan.json --who claude-a1
{"steps": [
  {"name": "build", "argv": ["cargo", "build", "-p", "app"]},
  {"name": "test", "argv": ["cargo", "test", "-p", "app", "--lib"], "after": ["build"]}
]}

loadtable split turns a cargo test into such a plan for you, one step per test executable, from cargo’s --message-format=json output of cargo test --no-run.