ops(archive): TASK prompts and REPORT verifications, studies through V1

This commit is contained in:
2026-08-29 05:22:43 -05:00
parent bd0cea1757
commit b2c4b74d76
37 changed files with 2049 additions and 0 deletions
@@ -0,0 +1,43 @@
# TASK: Smart dispatcher — phase-aware model selection + queue selection (Redmine 492+493)
## Context
Spec of record: docs/SPEC-20260829-charles-brief.md (Roadmap 2+3). The
quota/back-pressure turn (internal/quota) lands in the repo BEFORE this
turn starts — build on it, do not re-implement.
## Part A — Phase-aware model selection (ticket 492)
- Routing v1: work phases get different tiers. Convention: a task's phase
is derived v1 from explicit fields first, fallbacks second:
1. Redmine custom field (configurable field name, e.g. "phase",
values: plan/implement/review/grind)
2. harness.toml `[models.phases]` map: phase -> class (plan=primary,
implement=code, review=review, grind=flash-class default)
3. fallback: existing class map (unchanged behavior).
- The conductor exposes which phase it ran in the REPORT header (model +
phase + class) — telemetry for the eventual auto-classifier (v2, NOT
this turn).
- Unknown phase value = config error naming valid phases.
## Part B — Queue selection (ticket 493)
- Loop intake query becomes selection-aware:
- Redmine sort: priority desc, due_date asc (config keys in
`[redmine.selection]`); respect relations (issue blocked while
relates/blocks parent open — use /relations or issue relations field;
skip blocked, log reason).
- Quota gate: consult internal/quota snapshot (from the prior turn) —
heavy classes deferred when quota-low or peak-window per its config.
- Resource gate: same pattern for the busy-system gate.
- Pick order = sort order; one turn at a time (v0 concurrency), scan
continues after each.
- Selection decisions land in the loop JSONL (task id, chosen/deferred +
reason) — auditable.
## Discipline
TDD red/green (fake Redmine server pattern exists; add phase-routing and
blocked-relation cases), ALL DEV IN DOCKER, docs standard (README config
tables updated), push to origin main, NEVER broad pkill.
## Deliverable
`REPORT-20260829-0700-dispatcher.md` in `~/.coordinate/inbox-pmo/`:
phase map surface, selection rules + defer reasons, test results, how a
priority-5 due-today ticket beats a priority-3 no-due one (test cited).