Skip to content

5.1: Slim harness to single-stage git-lifecycle runner #38

Description

@savitharaghunathan

5.1: Slim harness to single-stage git-lifecycle runner

Part of Stream 5: Harness → AgentPlaybookRun alignment

The harness is currently a full CLI with init, run, status, resume, step commands and a hardcoded 5-step pipeline (detect → plan → execute → verify → fix-loop) baked into Go code. Per ADR-0001, the harness should be a thin git-lifecycle wrapper — clone, strip creds, checkout branch, launch goose serve, commit, push. Pipeline orchestration belongs to the AgentPlaybookRun controller, which creates sequential AgentRuns (one per stage).

Tasks

  • Reduce to a single run command driven entirely by env vars (KONVEYOR_MODEL_*, GIT_REPO_URL, KONVEYOR_INSTRUCTIONS, etc.)
  • Remove interactive init command and file-based config — use config.LoadFromEnv() only
  • Discover exactly one skill from /opt/skills/*/SKILL.md at startup
  • Build prompt from 4 context layers: Agent prompt (KONVEYOR_PROMPT), playbook context (KONVEYOR_PLAYBOOK_INSTRUCTIONS), skill content, stage task (KONVEYOR_INSTRUCTIONS)
  • Create a single ACP session, send one prompt, block until completion
  • Final commit + push on exit
  • Remove dead packages: internal/detect, internal/plan, internal/execute, internal/verify, internal/fixloop, internal/metrics, internal/rundir, internal/handoff
  • Remove internal/goose/recipe.go, internal/goose/acp_runner.go (pipeline-specific ACP orchestration)

Acceptance Criteria

  • Harness has a single run subcommand, no interactive prompts
  • All configuration comes from environment variables
  • Exactly one skill is discovered from /opt/skills/*/SKILL.md
  • Agent receives a composed prompt (agent prompt + playbook context + skill + instructions)
  • On exit: harness commits all changes and pushes to the target branch

References

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status
🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions