Charter rein-openweights
Agentic tool-use harness for current open-weight models via OpenRouter/ llm-connect, as an alternative to frontier-model-vendor harnesses (Claude Code, Grok CLI, Codex/GPT CLI). Chartered by glas-harness ADR-001. Local scaffold only, no Forgejo remote yet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
commit
ac5407a83e
3 changed files with 138 additions and 0 deletions
50
INTENT.md
Normal file
50
INTENT.md
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# INTENT
|
||||||
|
|
||||||
|
> Why rein-openweights exists, its boundary, and what it must never
|
||||||
|
> become. Established by glas-harness
|
||||||
|
> `docs/adr/ADR-001-rein-harness-family.md`.
|
||||||
|
|
||||||
|
## Why it exists
|
||||||
|
|
||||||
|
Every current agent harness in the ecosystem (Claude Code, Grok CLI,
|
||||||
|
Codex/GPT CLI) is a frontier-model-vendor harness: it only drives that
|
||||||
|
vendor's own model. There is no way to run a current open-weight model
|
||||||
|
through an equivalent agentic tool-use loop (plan → tool call → observe →
|
||||||
|
repeat, with a bounded tool policy) without building one from scratch per
|
||||||
|
occasion.
|
||||||
|
|
||||||
|
rein-openweights exists to be that harness: one agentic loop, model
|
||||||
|
supplied via OpenRouter (through `llm-connect`), usable anywhere a
|
||||||
|
rein-aharness-equivalent session is wanted but a frontier-vendor
|
||||||
|
dependency is not — cost-sensitive workloads, offline/degraded-network
|
||||||
|
tolerance, or simply comparing open-weight model capability against
|
||||||
|
frontier baselines on the same task.
|
||||||
|
|
||||||
|
## Governing principle
|
||||||
|
|
||||||
|
It is a **rein** — a concrete harness backend under glas-harness's
|
||||||
|
router, implementing the same harness contract as `rein-aharness`
|
||||||
|
(session lifecycle, tool dispatch + policy, sandbox consumption via
|
||||||
|
sand-boxer, State Hub reporting). It does not reimplement any of that
|
||||||
|
framework machinery itself; glas-harness owns the contract, this repo
|
||||||
|
owns the open-weight-model-specific agentic loop and tool execution.
|
||||||
|
|
||||||
|
## What it must never become
|
||||||
|
|
||||||
|
- **Not a model router.** Choosing which OpenRouter model to use for a
|
||||||
|
given task, pricing, and fallback stays in `llm-connect`. This repo
|
||||||
|
consumes `llm-connect`, it does not reimplement provider routing.
|
||||||
|
- **Not a second harness framework.** Session semantics, tool policy
|
||||||
|
schema, sandbox consumption, and audit reporting are glas-harness's
|
||||||
|
contract (`GLAS-WP-0001-T01`) — this repo implements it, not forks it.
|
||||||
|
- **Not a sandbox provisioner.** Isolation comes from sand-boxer via
|
||||||
|
glas-harness, the same as every other rein.
|
||||||
|
- **Not tenant-specific logic.** Anything specific to one consumer
|
||||||
|
belongs in that consumer's configuration, not hardcoded here.
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
Charter + local scaffold only. See `workplans/REIN-OW-WP-0001-bootstrap.md`
|
||||||
|
for the first concrete milestone (minimal tool-use loop against one
|
||||||
|
OpenRouter open-weight model, same starter tool surface as
|
||||||
|
rein-aharness's `green-commit-only` profile).
|
||||||
11
README.md
Normal file
11
README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# rein-openweights
|
||||||
|
|
||||||
|
An agentic tool-use harness that drives **current open-weight models via
|
||||||
|
OpenRouter** (through `llm-connect`), as an alternative to the
|
||||||
|
frontier-model-vendor harnesses (Claude Code, Grok CLI, Codex/GPT CLI).
|
||||||
|
|
||||||
|
Part of the glas-harness "rein" family — see
|
||||||
|
[glas-harness ADR-001](../glas-harness/docs/adr/ADR-001-rein-harness-family.md)
|
||||||
|
and this repo's [workplans/REIN-OW-WP-0001](workplans/REIN-OW-WP-0001-bootstrap.md).
|
||||||
|
|
||||||
|
Not yet pushed to Forgejo — local scaffold only.
|
||||||
77
workplans/REIN-OW-WP-0001-bootstrap.md
Normal file
77
workplans/REIN-OW-WP-0001-bootstrap.md
Normal file
|
|
@ -0,0 +1,77 @@
|
||||||
|
---
|
||||||
|
id: REIN-OW-WP-0001
|
||||||
|
title: "Bootstrap: minimal open-weight agentic loop"
|
||||||
|
status: proposed
|
||||||
|
---
|
||||||
|
|
||||||
|
First working milestone for rein-openweights: prove an agentic tool-use
|
||||||
|
loop against a current open-weight model via OpenRouter/llm-connect,
|
||||||
|
comparable in scope to rein-aharness's `green-commit-only` profile, ready
|
||||||
|
to implement the glas-harness rein contract once
|
||||||
|
`glas-harness/GLAS-WP-0001-T01` defines it.
|
||||||
|
|
||||||
|
## Task: Pick the starter open-weight model + OpenRouter path
|
||||||
|
|
||||||
|
Confirm `llm-connect` already supports the intended model class (check
|
||||||
|
its existing OpenRouter integration, used today by rein-aharness's
|
||||||
|
mail-triage/brief-daily paths for structured JSON — but not for a
|
||||||
|
multi-turn tool-use loop). Identify gaps: streaming tool-call support,
|
||||||
|
function-calling schema compatibility for the chosen open-weight model.
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: REIN-OW-WP-0001-T01
|
||||||
|
status: todo
|
||||||
|
priority: high
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task: Minimal agentic loop
|
||||||
|
|
||||||
|
Implement plan → tool call → observe → repeat with a hard tool allow-list
|
||||||
|
matching rein-aharness's `green-commit-only` (Read/Write/Edit/Glob/Grep +
|
||||||
|
local git add/commit/status/log/diff, no push/network/shell), bounded by
|
||||||
|
a turn/token budget (reuse `llm-connect`'s `BudgetTracker` the way
|
||||||
|
rein-aharness's runner does).
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: REIN-OW-WP-0001-T02
|
||||||
|
status: todo
|
||||||
|
priority: high
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task: Success criterion + reporting
|
||||||
|
|
||||||
|
Mirror rein-aharness's model: a local git commit is the sole success
|
||||||
|
signal, State Hub progress/token event on completion, metrics written in
|
||||||
|
a comparable format so the two reins are measurable side by side.
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: REIN-OW-WP-0001-T03
|
||||||
|
status: todo
|
||||||
|
priority: medium
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task: Credential brokering
|
||||||
|
|
||||||
|
Resolve per glas-harness `GLAS-WP-0001-T06`: OpenRouter/llm-connect
|
||||||
|
credential acquisition either brokered by glas-harness or done directly
|
||||||
|
here via OpenBao/ops-warden. Do not hardcode a choice before that ADR
|
||||||
|
addendum lands.
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: REIN-OW-WP-0001-T04
|
||||||
|
status: todo
|
||||||
|
priority: medium
|
||||||
|
```
|
||||||
|
|
||||||
|
## Task: Forgejo repo creation
|
||||||
|
|
||||||
|
This repo is local-only. Create `coulomb/rein-openweights.git` on
|
||||||
|
Forgejo and wire the remote once T02 has something worth pushing —
|
||||||
|
coordinate with the operator (repo creation is not something this
|
||||||
|
session can do unattended).
|
||||||
|
|
||||||
|
```task
|
||||||
|
id: REIN-OW-WP-0001-T05
|
||||||
|
status: todo
|
||||||
|
priority: low
|
||||||
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue