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:
parent
08327a34a4
commit
f6930ad115
41 changed files with 214 additions and 158 deletions
|
|
@ -5,7 +5,7 @@ import subprocess
|
|||
from datetime import date
|
||||
from pathlib import Path
|
||||
|
||||
from agent_harness import brief_daily
|
||||
from rein_aharness import brief_daily
|
||||
|
||||
|
||||
def _git_repo(tmp_path: Path) -> Path:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from unittest.mock import MagicMock, patch
|
|||
|
||||
import pytest
|
||||
|
||||
from agent_harness.intake import (
|
||||
from rein_aharness.intake import (
|
||||
EmittedIssue,
|
||||
IntakeConfig,
|
||||
IssueCoreClient,
|
||||
|
|
@ -16,7 +16,7 @@ from agent_harness.intake import (
|
|||
poll_next,
|
||||
resolve_target_repo,
|
||||
)
|
||||
from agent_harness.taskspec import TaskSpecError
|
||||
from rein_aharness.taskspec import TaskSpecError
|
||||
|
||||
|
||||
def _make_repo(tmp_path: Path, name: str = "binky-control") -> Path:
|
||||
|
|
@ -110,7 +110,7 @@ def test_client_list_claim_close() -> None:
|
|||
base_url="http://issue-core.test",
|
||||
api_key="k",
|
||||
require_labels=("automated",),
|
||||
assignee="agent-harness",
|
||||
assignee="rein-aharness",
|
||||
)
|
||||
client = IssueCoreClient(cfg)
|
||||
|
||||
|
|
@ -126,11 +126,11 @@ def test_client_list_claim_close() -> None:
|
|||
"activity_definition_id": "binky-daily-rhythm",
|
||||
}
|
||||
]
|
||||
claim_body = {**list_body[0], "state": "in_progress", "assignee": "agent-harness"}
|
||||
claim_body = {**list_body[0], "state": "in_progress", "assignee": "rein-aharness"}
|
||||
close_body = {**claim_body, "state": "closed"}
|
||||
|
||||
with patch("agent_harness.intake.httpx.get") as get_mock, patch(
|
||||
"agent_harness.intake.httpx.patch"
|
||||
with patch("rein_aharness.intake.httpx.get") as get_mock, patch(
|
||||
"rein_aharness.intake.httpx.patch"
|
||||
) as patch_mock:
|
||||
get_resp = MagicMock()
|
||||
get_resp.raise_for_status = MagicMock()
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ from pathlib import Path
|
|||
|
||||
import pytest
|
||||
|
||||
from agent_harness import mail_triage
|
||||
from agent_harness.llm_connect_client import LLMConnectClient, LLMConnectError
|
||||
from rein_aharness import mail_triage
|
||||
from rein_aharness.llm_connect_client import LLMConnectClient, LLMConnectError
|
||||
|
||||
|
||||
def _git_repo(tmp_path: Path) -> Path:
|
||||
|
|
@ -166,7 +166,7 @@ def test_run_mail_triage_no_report(tmp_path: Path, monkeypatch) -> None:
|
|||
|
||||
|
||||
def test_llm_connect_client_complete(monkeypatch) -> None:
|
||||
import agent_harness.llm_connect_client as mod
|
||||
import rein_aharness.llm_connect_client as mod
|
||||
|
||||
class FakeResp:
|
||||
def raise_for_status(self) -> None:
|
||||
|
|
@ -190,6 +190,6 @@ def test_llm_connect_client_complete(monkeypatch) -> None:
|
|||
def test_get_client_requires_env(monkeypatch) -> None:
|
||||
monkeypatch.delenv("LLM_CONNECT_URL", raising=False)
|
||||
with pytest.raises(LLMConnectError, match="LLM_CONNECT_URL"):
|
||||
from agent_harness.llm_connect_client import get_llm_connect_client
|
||||
from rein_aharness.llm_connect_client import get_llm_connect_client
|
||||
|
||||
get_llm_connect_client()
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from pathlib import Path
|
|||
|
||||
import pytest
|
||||
|
||||
from agent_harness import mailscan
|
||||
from rein_aharness import mailscan
|
||||
|
||||
|
||||
class FakeCompleted:
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ from pathlib import Path
|
|||
import pytest
|
||||
import yaml
|
||||
|
||||
from agent_harness.cli import main
|
||||
from agent_harness.manifest import (
|
||||
from rein_aharness.cli import main
|
||||
from rein_aharness.manifest import (
|
||||
HARNESS_MAJOR,
|
||||
ManifestError,
|
||||
load_manifest,
|
||||
|
|
@ -14,7 +14,7 @@ from agent_harness.manifest import (
|
|||
resolve_run_policy,
|
||||
validate_manifest,
|
||||
)
|
||||
from agent_harness.profiles import UnknownToolProfileError, get_profile, list_profiles
|
||||
from rein_aharness.profiles import UnknownToolProfileError, get_profile, list_profiles
|
||||
|
||||
|
||||
def _write_manifest(tmp_path: Path, data: dict) -> Path:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
|||
import json
|
||||
from pathlib import Path
|
||||
|
||||
from agent_harness.metrics import record_execution, regenerate_summary
|
||||
from rein_aharness.metrics import record_execution, regenerate_summary
|
||||
|
||||
|
||||
def test_record_execution_writes_jsonl_and_summary(tmp_path: Path) -> None:
|
||||
|
|
@ -25,7 +25,7 @@ def test_record_execution_writes_jsonl_and_summary(tmp_path: Path) -> None:
|
|||
assert rec["agent"] == "coach"
|
||||
assert rec["success"] is True
|
||||
assert rec["tokens"] == 100
|
||||
assert rec["harness"] == "agent-harness"
|
||||
assert rec["harness"] == "rein-aharness"
|
||||
assert rec["metadata"]["task_title"] == "hello"
|
||||
|
||||
summary = json.loads(
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ from pathlib import Path
|
|||
import pytest
|
||||
import yaml
|
||||
|
||||
from agent_harness.manifest import HARNESS_MAJOR
|
||||
from agent_harness.runner import RunResult, run_task
|
||||
from agent_harness.taskspec import TaskSpec, TaskSpecError
|
||||
from rein_aharness.manifest import HARNESS_MAJOR
|
||||
from rein_aharness.runner import RunResult, run_task
|
||||
from rein_aharness.taskspec import TaskSpec, TaskSpecError
|
||||
|
||||
|
||||
def _make_repo(tmp_path: Path) -> Path:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from __future__ import annotations
|
|||
import subprocess
|
||||
from pathlib import Path
|
||||
|
||||
from agent_harness.smoke import run_smoke
|
||||
from rein_aharness.smoke import run_smoke
|
||||
|
||||
|
||||
def _make_repo(tmp_path: Path) -> Path:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue