Add ReinOpenWeights adapter, closing GLAS-WP-0001-T05
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

glas_harness/reins/rein_openweights.py implements the Rein ABC by
shelling out to `rein-openweights run --task-file ... --no-hub
[--model ...]`, mirroring reins/rein_aharness.py exactly. Factored the
duplicated git_head/write_task_file logic into reins/_shared.py, used
by both adapters now. registry/reins/rein-openweights.yaml flipped to
status: implemented. 8 new tests (mocked subprocess), 18/18 passing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-26 13:42:29 +02:00
parent 4bdf8de950
commit 266f99a2fe
8 changed files with 238 additions and 43 deletions

View file

@ -103,16 +103,19 @@ is pushed — coordinate repo creation with the operator.
`rein-openweights/REIN-OW-WP-0001` (T01-T04) is done: standalone agentic
loop, own OpenRouter client (not llm-connect — see that workplan's T01
for why), tool surface, credential acquisition, commit-verified success
+ hub reporting, 26 tests. **Not yet done here:** a
`glas_harness/reins/rein_openweights.py` adapter implementing the `Rein`
ABC and shelling out to `rein-openweights run`, mirroring
`reins/rein_aharness.py` — that's the piece that actually plugs this
rein into glas-harness's gateway. registry/reins/rein-openweights.yaml's
`status: planned` should flip to `implemented` once that adapter lands.
+ hub reporting, 26 tests.
`glas_harness/reins/rein_openweights.py` now implements the `Rein` ABC
by shelling out to `rein-openweights run --task-file ... --no-hub
[--model ...]`, mirroring `reins/rein_aharness.py` exactly (both now
share `reins/_shared.py` for `git_head`/`write_task_file` — the
duplication was real, so it got factored out). `registry/reins/
rein-openweights.yaml` flipped to `status: implemented`. 8 new tests,
all mocked.
```task
id: GLAS-WP-0001-T05
status: progress
status: done
priority: high
state_hub_task_id: "84fa62ae-3b34-42fd-a263-f65c35e87586"
```