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