Rename repo to rein-aharness per glas-harness ADR-001

Repo-identity rename only (directory, git remote, pyproject name,
self-referencing docs). CLI/package/deploy rename tracked separately
in REIN-A-WP-0002-T02 since it touches a live Railiance deployment.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-26 12:28:44 +02:00
parent f770825975
commit 8e700c07de
4 changed files with 107 additions and 6 deletions

View file

@ -1,9 +1,18 @@
# INTENT
> This file explains why agent-harness exists — the problem it solves, the
> principle that governs its boundaries, and what it must never become.
> Established by DEC-2026-002 (binky-control DecisionQueue, resolved
> 2026-07-17) and ADR-001 in this repo.
> This file explains why agent-harness (repo renamed `rein-aharness`, see
> glas-harness ADR-001) exists — the problem it solves, the principle that
> governs its boundaries, and what it must never become. Established by
> DEC-2026-002 (binky-control DecisionQueue, resolved 2026-07-17) and
> ADR-001 in this repo.
>
> **Naming note (post-rename):** this repo is one of possibly several
> **reins** — concrete harness implementations for different operating
> circumstances, analogous to how "rails" name different workload
> operations models. glas-harness is the meta-framework that routes
> between reins; `rein-aharness` is the Claude-Code-CLI-based rein for
> governed, unattended/scheduled tenant work. See
> `../glas-harness/docs/adr/ADR-001-rein-harness-family.md`.
## Why it exists

View file

@ -1,4 +1,6 @@
# agent-harness
# rein-aharness
(formerly `agent-harness`, renamed per glas-harness ADR-001 "rein" harness family)
The single shared runtime for unattended agent instances in the Coulomb /
Operational Knowledge ecosystem. Projects declare agents (manifest +
@ -6,6 +8,18 @@ Operational Knowledge ecosystem. Projects declare agents (manifest +
tasks via activity-core, compute via llm-connect, credentials via
OpenBao/ops-warden, reporting to the Custodian State Hub.
Within the glas-harness meta-framework, this repo is the **`rein-aharness`
rein**: the Claude-Code-CLI-driven, unattended/scheduled harness for
tenants that need governed cron-style agent runs. See
[glas-harness ADR-001](../glas-harness/docs/adr/ADR-001-rein-harness-family.md)
for how it relates to other reins (e.g. `rein-openweights`).
The CLI command (`agent-harness`), Python package (`agent_harness`), and
deploy artifacts (Docker image tag, k8s namespace, Railiance host paths)
still use the old name — that rename is tracked separately in
[workplans/REIN-A-WP-0002](workplans/REIN-A-WP-0002-rename-and-glas-harness-alignment.md)
because it touches a live Railiance deployment.
- Why and boundaries: [INTENT.md](INTENT.md)
- Decision + architecture: [docs/adr/ADR-001](docs/adr/ADR-001-agent-harness-architecture.md),
[docs/architecture.md](docs/architecture.md)

View file

@ -1,5 +1,5 @@
[project]
name = "agent-harness"
name = "rein-aharness"
version = "0.1.0"
description = "Thin executor worker: consumes emitted activity-core tasks and executes them via llm-connect adapters with kaizen persona orientation"
requires-python = ">=3.11"

View file

@ -0,0 +1,78 @@
---
id: REIN-A-WP-0002
title: "Rename completion and glas-harness alignment"
status: proposed
---
Follow-up to HARNESS-WP-0001 (done) and glas-harness
`docs/adr/ADR-001-rein-harness-family.md`. This repo (formerly
agent-harness) is now the `rein-aharness` rein: the Claude-Code-CLI-driven
harness for governed, unattended/scheduled tenant work, consumed through
glas-harness's router once GLAS-WP-0001 lands. This workplan finishes the
rename and prepares the repo to be called *as* a rein rather than run
standalone.
## Task: Repo-identity rename (this session)
Local directory (`~/agent-harness``~/rein-aharness`), git remote
(`coulomb/agent-harness.git``coulomb/rein-aharness.git`, already
renamed on Forgejo by the operator), `pyproject.toml` `[project].name`,
and self-referencing prose in `README.md`/`INTENT.md`. Does **not**
touch the CLI command name, Python package name, or deploy artifacts —
see next task.
```task
id: REIN-A-WP-0002-T01
status: done
priority: high
```
## Task: Deploy/package rename (deliberate follow-up, needs a maintenance window)
Rename the parts of this repo that a mechanical identity rename would
otherwise silently break, because they touch a *live* Railiance
deployment: the `agent-harness` CLI command (`pyproject.toml
[project.scripts]`, `agent_harness/cli.py` entry point), the
`agent_harness` Python package directory, the Docker image tag
(`agent-harness:railiance01`), the k8s namespace/labels/ConfigMap names
(`deploy/k8s/railiance/*.yaml`), the Railiance host directory
(`~/agent-harness/deploy/...`), and `deploy/scripts/railiance-smoke.sh`'s
`AGENT_HARNESS_ROOT` env var and SSH remote alias. Do this as one
reviewed change with a Railiance re-deploy and smoke-test run
immediately after, not as incidental cleanup.
```task
id: REIN-A-WP-0002-T02
status: todo
priority: medium
```
## Task: Implement the glas-harness rein contract
Once `glas-harness` GLAS-WP-0001-T01 defines the harness contract
(`start_session`/`dispatch_tool`/`end_session` or equivalent), adapt this
repo's `runner.py`/`adapter.py` to expose it, so glas-harness can call
into `rein-aharness` instead of `rein-aharness` only running itself via
its own CLI/poll loop.
```task
id: REIN-A-WP-0002-T03
status: todo
priority: high
```
## Task: Decide scheduling/blueprint coupling boundary
This repo depends directly on `kaizen-agentic` (blueprints) and
`activity-core`/`issue-core` (task intake). Decide, once
`rein-openweights` exists as a second rein with a possibly different
triggering model, whether that coupling stays rein-local (each rein
sources its own tasks) or moves into glas-harness as a shared concern.
Record the answer in `glas-harness/docs/adr/` before T03 forces the
question implicitly.
```task
id: REIN-A-WP-0002-T04
status: todo
priority: low
```