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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Versions follow [SemVer](https://semver.org).

### Added

- The climb board: `CLIMB.md` (numbers + attempts table), `climb/<benchmark>.json` (the data), and `climb.html` (a chart of the JSON) on the target's `research-log` branch, kernel-published as runs end. Idempotent: rows merge by run id, files are written only on change.
- SWEEPS: `launch --array K` fans one command out to K jobs, each with
`SWEEP_INDEX=0..K-1` in its environment, delivered back as K results
(artifacts under `results/<name>/<i>/`) in one wake. It counts as one
Expand Down
7 changes: 7 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,13 @@ open-ended sweep space.
- [ ] Task selection reads lessons/ + recent runs/ (the loop's research memory)
- [ ] Periodic distillation pass: raw reports → bounded lessons/<target>.md
- [ ] Weekly digest aggregates per-run reports; cost ledger; leaderboard history
- [x] Climb board on the research-log branch: `climb/<benchmark>.json` +
`CLIMB.md` + `climb.html`; a Pages site can serve the same files at the
public flip
- [ ] Local-inference roles (big item, 2026-08-29): open-weight author/judge
models served on cluster GPUs (vLLM/SGLang behind the hermes provider
seam) — stability against API model retirement, and pinned weights make
the research program reproducible

## Cross-cluster (dev plan, 2026-08-29)

Expand Down
5 changes: 4 additions & 1 deletion src/autoresearch/attempt.py
Original file line number Diff line number Diff line change
Expand Up @@ -279,9 +279,12 @@ def _clear_stage(record: RunRecord) -> RunRecord:
especially `wake_attempts` ride into `in-review`, where in-review follow-up
servicing reuses `wake_attempts` as its OWN retry cap — so a run that woke
once would reach review with a shrunk follow-up budget."""
# the run's spend survives the wipe: terminal reporting (the climb
# board) reads it after the transition
kept = {k: record.stage[k] for k in ("gpu_hours_used",) if record.stage and k in record.stage}
return dc_replace(
record,
stage={},
stage=kept,
experiment_job_id="",
deadline=0.0,
terminal_seen=0.0,
Expand Down
Loading
Loading