Files
MOPAC/internal/task/task.go
T
mrcharles aefa73aa90 harness: LiteLLM client, Redmine intake, REPORT writeback, gated bash tool
OpenAI-compatible chat client for the LiteLLM proxy (base_url normalization,
Bearer auth, retry/backoff on 429/5xx/transport, usage accounting) - stdlib
http only. Intake lists issues in scope from /issues.json with the task
class read from a configurable custom field. Writeback lands each turn as
REPORT-<vertical>-<task>-<ts>.md plus REPORT-latest.md (atomic rename) with
model/tier/token telemetry. The bash tool ports maki's permission semantics
without tree-sitter: segment-by-segment compound-command checks, deny beats
allow, word-boundary "cmd *" matching, $()/backtick/subshell denied, output
truncation, per-command timeout with process-group cleanup.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-08-28 19:20:57 -05:00

13 lines
401 B
Go

// Package task defines the TASK record that flows through the conductor:
// intake produces them, the loop executes them, writeback reports on them.
package task
// Task is one unit of released work.
type Task struct {
ID string `json:"id"`
Subject string `json:"subject"`
Prompt string `json:"prompt"`
Class string `json:"class"`
Source string `json:"source"` // "redmine" | "demo"
}