Rename package, CLI, and deploy artifacts to rein-aharness (HARNESS-WP-0002-T02)

agent_harness -> rein_aharness (package + all imports), CLI command
agent-harness -> rein-aharness, Docker image tag, k8s namespace/labels/
names, Makefile targets, deploy script env var/paths. In-repo identity
strings (hub event source, metrics harness field, default assignee,
argparse prog name, commit author identity) updated to match.

Historical documents left untouched on purpose: docs/adr/ADR-001-agent-harness-architecture.md,
docs/architecture.md (dated v0.1 snapshot), workplans/HARNESS-WP-0001
(completed under the old name), and the SSH host alias
"forgejo-agent-harness" (external ~/.ssh/config entry, not owned here).

Verified: 47/47 tests pass, CLI runs correctly from a fresh venv,
`make image` builds and the resulting container runs correctly.

deploy/README.md gained an explicit rename cutover checklist for what
this session cannot safely do unattended -- moving the host-side
secrets dir and checkout on railiance01, and not deleting the old k8s
namespace until the new one is confirmed working. The actual live
cutover (running that checklist against the real Railiance deployment)
is not attempted here -- real production surgery on binky-control's
live automation, needs the operator present.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-26 14:22:18 +02:00
parent 08327a34a4
commit f6930ad115
41 changed files with 214 additions and 158 deletions

View file

@ -10,7 +10,7 @@
```
**Same file as ADR-005.** kaizen-agentic owns the base schedule keys;
agent-harness owns the extension keys below. A sibling file is reserved
rein-aharness owns the extension keys below. A sibling file is reserved
only if kaizen owners later prefer hard separation — until then, one
manifest keeps cadence and runtime policy colocated.
@ -18,8 +18,8 @@ Validate:
```bash
kaizen-agentic schedule validate --target <repo> # base ADR-005 keys
agent-harness validate --target <repo> # base + harness extensions
agent-harness validate --target <repo> --strict # require harness fields on enabled agents
rein-aharness validate --target <repo> # base + harness extensions
rein-aharness validate --target <repo> --strict # require harness fields on enabled agents
```
## Schema
@ -39,12 +39,12 @@ agent-harness validate --target <repo> --strict # require harness fields on e
| `agents.<name>.budget` | harness | no | int | Token cap per run (positive) |
| `agents.<name>.harness` | harness | no | int | Per-agent major pin; overrides top-level |
\* Required for enabled agents under `agent-harness validate --strict`.
\* Required for enabled agents under `rein-aharness validate --strict`.
## Example (tenant-ready)
```yaml
# .kaizen/schedule.yml — ADR-005 + agent-harness extensions
# .kaizen/schedule.yml — ADR-005 + rein-aharness extensions
version: "1"
timezone: Europe/Berlin
harness: 0
@ -75,7 +75,7 @@ agents:
## Tool profiles
Defined **only** in agent-harness (see `agent_harness/profiles.py`).
Defined **only** in rein-aharness (see `rein_aharness/profiles.py`).
Manifests reference them by name; unknown names refuse to run.
| Name | Lane | Session tools |
@ -99,7 +99,7 @@ deliberate.
## Relationship to task files
Local development may still use JSON task files (`agent-harness run
Local development may still use JSON task files (`rein-aharness run
--task-file …`). When the target repo has a matching agent entry, the
runner resolves `tool_profile`, `budget`, and `lane` from the manifest;
otherwise it defaults to `green-commit-only` with no budget cap.

View file

@ -1,13 +1,13 @@
# Task intake (HARNESS-WP-0001-T03)
activity-core emits tasks via IssueSink → `POST /issues/` on **issue-core**.
agent-harness **consumes** them by polling the same service:
rein-aharness **consumes** them by polling the same service:
```
activity-core (cron/rule)
→ IssueCoreRestSink POST /issues/
→ issue-core backend (sqlite / gitea)
agent-harness poll/claim GET+PATCH /issues/
rein-aharness poll/claim GET+PATCH /issues/
→ run_task (profile + budget + persona + session)
→ PATCH close + hub progress + .kaizen/metrics
```
@ -17,8 +17,8 @@ activity-core (cron/rule)
## Mail path (server / Railiance)
```
agent-harness mail-scan # deterministic IMAP (AppRole)
agent-harness mail-triage # llm-connect HTTP → JSON → apply mail-log + commit
rein-aharness mail-scan # deterministic IMAP (AppRole)
rein-aharness mail-triage # llm-connect HTTP → JSON → apply mail-log + commit
```
Requires `LLM_CONNECT_URL` (e.g. in-cluster
@ -45,14 +45,14 @@ export ISSUE_CORE_API_KEY=…
export AGENT_HARNESS_REPO_MAP='{"binky-control":"/home/tegwick/binky-control"}'
# Peek / claim without executing
agent-harness poll
agent-harness poll --no-claim
rein-aharness poll
rein-aharness poll --no-claim
# Claim → run → close (or reopen on failure)
agent-harness run --from-issue-core
rein-aharness run --from-issue-core
# Local dev (unchanged)
agent-harness run --task-file examples/task-hello-sandbox.json --no-hub
rein-aharness run --task-file examples/task-hello-sandbox.json --no-hub
```
## Label filter