diff --git a/AGENTS.md b/AGENTS.md index 0990a4e..b16475d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,6 +11,24 @@ --- +## Developer Workflow + +```bash +# Install (editable, pulls in the llm-connect sibling checkout) +python3 -m venv .venv && source .venv/bin/activate +pip install -e . -e ../llm-connect pytest + +# Test +PYTHONPATH=".:$HOME/llm-connect" python3 -m pytest tests/ -q + +# Run — bounded agentic session against a real target repo (real Claude Code +# CLI call, real commit if successful) +rein-aharness run --task-file examples/task-hello-sandbox.json --no-hub --no-metrics + +# Build the Railiance deploy image +make image +``` + ## State Hub Integration The Custodian State Hub tracks work across all domains. Interact via HTTP REST — diff --git a/SCOPE.md b/SCOPE.md index 1cf8073..2dc52d9 100644 --- a/SCOPE.md +++ b/SCOPE.md @@ -1,32 +1,52 @@ # SCOPE -> This file was generated by `statehub register`. Refine it as the repository -> boundaries become clearer. - ## One-liner -Claude-Code-CLI-driven rein: governed, unattended/scheduled agent runtime +Claude-Code-CLI-driven rein: governed, unattended/scheduled agent runtime. +Formerly `agent-harness`; renamed per glas-harness ADR-001. Deployed live on +Railiance for tenant `binky-control`. ## Core Idea -rein-aharness exists to provide the capability described in INTENT.md. +The single shared, multi-tenant runtime: consumes tasks (local JSON file or +issue-core polling), loads a kaizen-agentic persona, runs a bounded Claude +Code CLI session under a named tool profile allow-list, verifies a local +commit, reports to State Hub and `.kaizen/metrics`. The harness is the only +credential holder and only policy enforcement point for its sessions. ## In Scope -- Maintain the repository's primary implementation. -- Keep docs, tests, and operational metadata current. +- Instance manifest resolution (`.kaizen/schedule.yml` extensions), + named tool profiles (`green-commit-only`, `blue-mail-triage`) +- Task intake: local task-file (dev) and issue-core polling (production) +- The agentic session itself (`adapter.py`/`runner.py`), including + per-tool-call audit streaming (`--stream-tool-events`, + `HARNESS-WP-0002-T03`) +- kaizen metrics + State Hub progress/token reporting +- Railiance packaging and deployment (`Containerfile`, `deploy/`) +- Two non-Claude, non-agentic side paths: deterministic mailbox scan + (`mail-scan`) and llm-connect-JSON-driven mail-triage/daily-brief ## Out of Scope -- Own unrelated adjacent systems. -- Make irreversible operational decisions without human approval. +- Scheduling and blueprint authoring — stay in `activity-core` and + `kaizen-agentic` respectively (this repo only consumes/loads them) +- Being the glas-harness meta-framework itself — this repo is one + concrete rein under it, not the router + (`glas-harness/docs/adr/ADR-001-rein-harness-family.md`) +- LLM provider abstraction — stays in `llm-connect` ## Current State -- Status: active; implementation and stability should be verified by the repo agent. +`HARNESS-WP-0001` (foundation) and `HARNESS-WP-0002` (rename + glas-harness +alignment, including the live Railiance cutover) are both done. Live-proven +through glas-harness's gateway with a real Claude Code session and a real +verified commit. Deploy artifacts, CLI, and package are all under the +`rein-aharness` name on the live Railiance deployment. ## Getting Oriented -- Start with: INTENT.md -- Agent instructions: AGENTS.md -- Workplans: workplans/ +- Start with: `INTENT.md` +- Deploy: `deploy/README.md` +- Agent instructions: `AGENTS.md` +- Workplans: `workplans/` diff --git a/workplans/REIN-A-0001-statehub-bootstrap.md b/workplans/REIN-A-0001-statehub-bootstrap.md index 9b862c8..ae598f6 100644 --- a/workplans/REIN-A-0001-statehub-bootstrap.md +++ b/workplans/REIN-A-0001-statehub-bootstrap.md @@ -4,7 +4,7 @@ type: workplan title: "Bootstrap State Hub integration" domain: infotech repo: rein-aharness -status: ready +status: active owner: codex topic_slug: custodian created: "2026-07-26" @@ -20,7 +20,7 @@ Claude-Code-CLI-driven rein: governed, unattended/scheduled agent runtime ```task id: REIN-A-0001-T01 -status: todo +status: done priority: high state_hub_task_id: "69710723-4fc0-4b64-953d-166520167493" ``` @@ -32,7 +32,7 @@ Replace generated placeholders with repo-specific facts where needed. ```task id: REIN-A-0001-T02 -status: todo +status: done priority: high state_hub_task_id: "8a060f11-b5d7-4d99-b740-db102342249a" ``` @@ -45,7 +45,7 @@ changes confidently. ```task id: REIN-A-0001-T03 -status: todo +status: done priority: medium state_hub_task_id: "ee1b1a63-89e1-4743-8ec2-c0ce9b2b44d5" ```