1.5 KiB
1.5 KiB
TASK: Harness skeleton (build phase 2)
Objective
Initial Go implementation in /home/reachableceo/projects/meta/MOPAC/harness per its DESIGN.md (READ IT FIRST, esp. "MVP demo bar" + "Model selection layer" sections, appended 2026-08-28 ~19:00): config load, conductor loop (single-shot mode), redmine-pull intake (list issues in scope), bounded turn via LiteLLM (OpenAI-compatible, base_url+key from config), REPORT file writeback, exec tool (bash, allow-listed).
Constraints
- Read docs/PORTING-NOTES-*.md first if present.
go build ./...andgo vet ./...clean; no external deps beyond stdlib + tree-sitter/gomft if genuinely needed (prefer stdlib for v1).- Config: harness.toml (scope query, litellm url/key-ref, paths) + example file.
- Single-shot:
harness onceruns ONE iteration then exits (chainable, no daemon). - Dry-run mode:
harness once --dry-run= intake+plan only, no LLM call. - MODEL ROUTING v0: harness.toml
[models]tier map (aliasesmopac-study-> glm-4.7-flash,mopac-code-> glm-5.2,mopac-review-> glm-5-turbo,mopac-primary-> glm-5.3) + per-TASKclassfield; requests go out with the concrete model name resolved from the map. No heuristic code in v0. - MVP DEMO (the acceptance bar):
harness onceon a demo issue whose prompt is "tell me about yourself" through LiteLLM; the GLM self-description comes back and lands as the REPORT. Wire this as an example/smoke path. - Tests for loop/gate logic (table-driven, stdlib testing).
- Commit incrementally; REPORT lists what works, what's stubbed, next chunk.