Jern Cloud docs

Look for bugs every Tuesday.

A schedule opens a session on the clock as the member who set it. This one asks for a bug hunt once a week, and the baseline keeps the answer small enough to review in a minute.

The policy

The demo repository's protected baseline, .jern/baseline.json, pinned by digest for the life of every session. Edits may touch src/ and tests/ only, at most four files and two hundred lines, never .jern/ or .github/. The test command runs without asking after every edit.

{
  "policy": {
    "edits_within": ["src/", "tests/"],
    "protected_paths": [".jern/", ".github/"],
    "max_files_edited": 4,
    "max_lines_changed": 200,
    "memory": "allow",
    "shell_allow": ["python3 -m unittest discover -s tests -t .", "python3"]
  },
  "environment": {
    "services": ["postgres:16"],
    "network_allow": ["docs.python.org"]
  },
  "test_command": "python3 -m unittest discover -s tests -t ."
}

The schedule

When30 15 * * 2 in America/Toronto: Tuesdays at 15:30.
MessageLook for bugs to fix
CapThe trigger cap, 4,000,000 tokens per attempt; a schedule can lower it.

Set in the Automation section of the repository's page, by a member who can start sessions there. Triggers were on under Settings › Triggers, which a schedule needs.

What came back

Pull request 77, opened by the run that was due at 19:30 UTC. The agent read the source, ran the tests, found that fahrenheit_to_celsius dropped the 32-degree offset, and fixed it in one place: one file, one line added, two removed. The pull request's first line names the schedule and the time it was due.

Receipt rowWhat it said
Outcomesuccess, pull request ready
Policy.jern/baseline.json digest 5a58da65014e, repository baseline, pinned
Model6 gateway calls
Tokens32,363 in, 677 out; 14,434 counted toward the cap of 4,000,000
Estimated spend$0.019 at list price
Files touchedsrc/temperature.py +1 −2; 1 of at most 4 files, 3 of at most 200 lines
Networkdocs.python.org allowed; none contacted
Sandboxprivate network namespace, loopback relays only, writes within the policy's paths

Why it is safe to leave running

Nothing merges. The pull request waits for a reviewer like any other, with the receipt as a check beside your CI. The blast radius means the worst a bad week can produce is a two-hundred-line pull request you close. The spend is on the usage report under the repository, in the column for scheduled work, and a cap per run bounds it. If the member who set the schedule leaves the workspace, the schedule stops with a refusal you are notified of.

Try it on your repository

  1. Merge a setup pull request so the repository owns its baseline, or let a workspace profile govern it; see Policy.
  2. Turn triggers on under Settings › Triggers and pick the model they run on.
  3. In the Automation section of the repository's page, add a schedule: a day and time in your zone, and the message. "Look for bugs to fix" is enough; a more useful one names where to look.