Add intake client mapping emissions to TaskSpec, CLI poll and run --from-issue-core, keep --task-file for local dev. Completes HARNESS-WP-0001 workplan.
111 lines
3.3 KiB
Markdown
111 lines
3.3 KiB
Markdown
---
|
||
id: HARNESS-WP-0001
|
||
title: "Harness Foundation: from prototype to shared runtime"
|
||
status: done
|
||
state_hub_workstream_id: "1509b40c-94c9-4a52-8661-22ca05979bca"
|
||
---
|
||
|
||
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: HARNESS-WP-0001-T01
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "ee8f6f16-8e34-4961-b765-8ebad8622cda"
|
||
```
|
||
|
||
## 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: HARNESS-WP-0001-T02
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "a043a228-e306-49af-9500-c68841b4dc40"
|
||
```
|
||
|
||
## 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: HARNESS-WP-0001-T03
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "4970daca-2553-4bc6-9ab2-74e172695083"
|
||
```
|
||
|
||
## 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: HARNESS-WP-0001-T04
|
||
status: done
|
||
priority: medium
|
||
state_hub_task_id: "1496a3e9-4391-4497-8b55-782ea0fc6525"
|
||
```
|
||
|
||
## 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: HARNESS-WP-0001-T05
|
||
status: done
|
||
priority: medium
|
||
state_hub_task_id: "9a388b80-47ac-41bd-a9ea-776f2cbd37e5"
|
||
```
|
||
|
||
## 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 2–3). Verify the sandbox smoke task end-to-end remotely; hub via
|
||
:18000 bridge.
|
||
|
||
```task
|
||
id: HARNESS-WP-0001-T06
|
||
status: done
|
||
priority: high
|
||
state_hub_task_id: "bc1b29b0-3a35-4a35-a113-87f3413b51a5"
|
||
```
|
||
|
||
## 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: HARNESS-WP-0001-T07
|
||
status: done
|
||
priority: medium
|
||
state_hub_task_id: "3b724966-3481-405f-a483-80276f39cf1b"
|
||
```
|