Files
mopac-pmo/archive/TASK-20260829-0830-mred-version-update.md
T

1.6 KiB

TASK: mred version update — finish 524 (loop flash turn round-limited, delivered nothing)

Context

Redmine 524. The loop's study-class turn burned 12 rounds reading and shipped zero; repo untouched at main@788f6fe. You are the finish turn. Repo: ~/projects/meta/MOPAC/redmine-go (ukrrs/mopac-redmine-go, branch main, clean).

Scope (small, surgical)

  1. mred version update ID [--status open|closed] [--due YYYY-MM-DD] [--name NAME]:
    • API: PUT /versions/{id}.json — note: Redmine returns 204 empty body on success (handle it; do not parse).
    • Only provided flags are sent; at least one required (usage error otherwise).
    • Same output/exit-code conventions as existing subcommands (updated version #N line, -o json emits the re-fetched version).
  2. Table-driven tests against the existing fake (it already serves versions): status flip, due change, combined flags, 204 handling, error mapping. Red first, then implement.
  3. README command reference row + status table line.
  4. Verify read-only against production after push: mred version list -p MOPAC must still show all 5 versions (no mutation of prod).

Build discipline

ALL DEV IN DOCKER via ./dev.sh (digest-pinned builder). NEVER broad pkill. TDD. Atomic conventional commits, push origin main. Exit 0 only if tests green + pushed.

Deliverable

REPORT-20260829-0830-mred-version-update.md in ~/.coordinate/inbox-pmo/: diff summary, test counts, prod read verification. No journal/status writes to Redmine — PMO handles 524's ticket (it is currently Resolved; PMO re-verifies on your REPORT).