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.
- Getting started
- Sessions
- Policy
- Triggers
- Schedules
- Skills
- Environments
- Browser
- Memory
- Knowledge
- Receipts
- Spend
- Provider keys
- Settings
- MCP server
- Recipes
- FAQ and limits
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
| When | 30 15 * * 2 in America/Toronto: Tuesdays at 15:30. |
| Message | Look for bugs to fix |
| Cap | The 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 row | What it said |
|---|---|
| Outcome | success, pull request ready |
| Policy | .jern/baseline.json digest 5a58da65014e, repository baseline, pinned |
| Model | 6 gateway calls |
| Tokens | 32,363 in, 677 out; 14,434 counted toward the cap of 4,000,000 |
| Estimated spend | $0.019 at list price |
| Files touched | src/temperature.py +1 −2; 1 of at most 4 files, 3 of at most 200 lines |
| Network | docs.python.org allowed; none contacted |
| Sandbox | private 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
- Merge a setup pull request so the repository owns its baseline, or let a workspace profile govern it; see Policy.
- Turn triggers on under Settings › Triggers and pick the model they run on.
- 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.