ops(log): PMO activity log and turn/queue logs
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
Go isn't installed. Downloading go1.26.7 to ~/.local.Go 1.26.7 ready. Setting up the build plan and writing the implementation.Module path set externally to `git.knownelement.com/reachableceo/MOPAC/harness` — keeping it. Writing the config package.Now the models routing package:Now task, intake, writeback, and the bash tool:Now the conductor loop and CLI:Now the example config, .gitignore, and README update:Module path mismatch — fixing imports to `git.knownelement.com/reachableceo/MOPAC/harness`:Untracked LSP-test scratch file breaking the build — removing it:Build and vet clean. Writing the test suite:Now the loop tests — the heart of the gate/loop verification:Fixing: trailing commas in arrays (valid TOML), redaction leak, and a wrong test mutation:All green. Smoke-testing the CLI end-to-end:Clean failure without key. Probing whether the local LiteLLM requires auth for the live demo:Live proxy is up (401 without key) — demo path wired, live run awaits the founder's key. Updating README, then committing incrementally:Verifying the intermediate commits each build standalone:Phase 2 complete — 5 commits on `main`, `go build`/`vet`/`test` all clean (Go 1.26.7 installed to `~/.local/go` since the host had no toolchain).
|
||||
|
||||
**Built** (per DESIGN + PORTING-NOTES):
|
||||
- `internal/config` — stdlib TOML-subset parser, harness.toml + defaults + validation; secrets as refs only (`env:`/`file:`/`literal:`, `bw:` reserved), redacted from errors; tracked `harness.toml.example` is load-tested so it can't rot
|
||||
- `internal/models` — routing v0: class → tier alias → concrete model (all four aliases + `mopac-vision`); requests carry the concrete name; unknown class = hard error, zero heuristics
|
||||
- `internal/llm`, `internal/intake`, `internal/writeback` — OpenAI-compat LiteLLM client with retry/backoff; Redmine `/issues.json` scope intake with class custom-field; atomic `REPORT-*.md` + `REPORT-latest.md` with model/tier/token telemetry
|
||||
- `internal/tools` — allow-listed bash gate (maki semantics: segment-splitting, deny-beats-allow, word-boundary `cmd *`, `$()`/backtick/subshell denied, timeout + process-group kill, output truncation)
|
||||
- `internal/loop` + `cmd/harness` — `harness once` single-shot conductor, `--dry-run` (zero LLM calls, test-asserted), `--demo` MVP smoke path, `--task-id`, distinct exit codes (0/1/2/4)
|
||||
- Table-driven stdlib tests everywhere, incl. loop end-to-end against a scripted fake OpenAI server; every intermediate commit verified to build standalone
|
||||
|
||||
**MVP demo**: `once --demo` ("tell me about yourself" → glm-5.3 → REPORT) proven against the fake; live proxy at `192.168.3.78:4001` is reachable but 401s — run `HARNESS_LITELLM_KEY=<vkey> ./bin/harness once --demo` for the live bar. Full works/stubbed/next list in `REPORT.md` (stubbed: Redmine note writeback, budget gate, `bw:` refs, streaming/resume, session persistence).
|
||||
Reference in New Issue
Block a user