rein-aharness/workplans/REINAH-WP-0001-harness-foundation.md
codex 7641fcde40 fix(workplans): declare type: workplan on records the hub already holds
These files carried no type field at all. Selection is by 'type: workplan', so
they were invisible to every projection while the hub held a record for each —
and a forge-derived reset read those correct records as no longer deriving and
queued them for retirement.

Only the type line is added.

Refs STATE-WP-0083-T05

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
2026-08-26 20:56:04 +02:00

112 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: REINAH-WP-0001
type: workplan
title: "Harness Foundation: from prototype to shared runtime"
status: done
state_hub_workstream_id: "6222ad5b-d00b-515b-9fa0-de0f8ba74c28"
---
Turn the adopted executor-worker prototype into the single shared agent
runtime per ADR-001 / DEC-2026-002. Tenant #1 is binky-control; its
cutover (BINKY-WP-0004-T06) gates on T06 here. Boundaries per INTENT.md:
no scheduling, no blueprint authoring, no tenant-specific logic.
## Task: Instance manifest spec and validation
Specify the declarative instance manifest (extends ADR-005
`.kaizen/schedule.yml`): blueprint, cadence, enabled, lane, tool_profile
(by name), budget, pinned harness major. Implement `agent-harness
validate --target <repo>` mirroring kaizen's schedule validate. Align
the schema with kaizen-agentic owners (their file, our extra keys — or a
sibling manifest if they prefer separation).
```task
id: REINAH-WP-0001-T01
status: done
priority: high
state_hub_task_id: "1ad997f9-1939-5402-94cc-90069ab35719"
```
## Task: Named tool profiles
Central tool-profile registry (seed: `green-commit-only` from the
prototype allow-list; add `blue-mail-triage`). Manifests reference
profiles by name; the runner resolves and enforces them. Unknown profile
= refuse to run.
```task
id: REINAH-WP-0001-T02
status: done
priority: high
state_hub_task_id: "f2a88da7-055a-5831-beda-d0d892c6ddbe"
```
## Task: Task intake from activity-core emission
Replace the JSON task-file MVP source with polling the issue-core REST
sink (or TaskExecutorWorkflow handoff) for emitted tasks labeled for the
harness; map emissions to TaskSpec. Keep the task-file path for local
development.
```task
id: REINAH-WP-0001-T03
status: done
priority: high
state_hub_task_id: "5a18f1a6-a774-5081-957d-609387c2ec75"
```
## Task: Kaizen metrics emission per run
After each run, write `.kaizen/metrics` records in the target repo
(tokens, duration, ok/failed, commit) so the kaizen optimization loop
observes harness-run agents. Follow kaizen-agentic's metrics conventions
(ADR-004).
```task
id: REINAH-WP-0001-T04
status: done
priority: medium
state_hub_task_id: "05c249ad-037d-5b43-9ffe-07c5a817d83a"
```
## Task: Budget enforcement
Wire llm-connect's BudgetTracker to the manifest `budget` field; refuse
or truncate runs over budget and report the event to the hub (token
events feed the Token Cost dashboard).
```task
id: REINAH-WP-0001-T05
status: done
priority: medium
state_hub_task_id: "169b2a5a-52a5-58df-9f86-9825562d7f9c"
```
## Task: Railiance deployment
Package (container per llm-connect/activity-core conventions) and deploy
one harness instance on Railiance. Gated on founder Red-lane secret
provisioning (binky-control `integrations/executor-worker-secrets.md`
Lanes 23). Verify the sandbox smoke task end-to-end remotely; hub via
:18000 bridge.
```task
id: REINAH-WP-0001-T06
status: done
priority: high
state_hub_task_id: "c9463269-8e30-5830-b6ab-c1b2e4f74d63"
```
## Task: Tenant #1 onboarding — binky-control
Commit binky-control's instance manifest (daily rhythm, weekly mail
intake, weekly review prep on the T01 schema), run the three definitions
through the deployed harness, then hand off to BINKY-WP-0004-T06 for the
cron-bridge cutover.
```task
id: REINAH-WP-0001-T07
status: done
priority: medium
state_hub_task_id: "f89c01bd-c311-5c7b-9654-273447285935"
```