pmo: docker-permission root cause fixed, q18 consolidated Beta finish turn
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# TASK: harness Beta finish — retry writebacks (525) + SMS notifier (522) + briefing pipeline (495)
|
||||
|
||||
## Context
|
||||
Redmine 525, 522, 495 — all in this repo (~/projects/meta/MOPAC/harness, main, last commit 19d61a0). Loop turns left UNCOMMITTED WIP that DOES NOT COMPILE. You are the consolidated finish turn. Three tickets, three surfaces, serial in one session.
|
||||
|
||||
## Current WIP state (verify with git status)
|
||||
- `internal/writeback/retry.go` (untracked) + `internal/writeback/redmine.go` (modified) — 525
|
||||
- `internal/notify/` (untracked) — 522
|
||||
- briefing surface EXISTS and is committed: 064aed0 + vendored discourse client — 495
|
||||
|
||||
## Part 1 — 525 retry/backoff (FIX COMPILE FIRST)
|
||||
Exact current errors: retry.go:74 field and method with the same name Backoff (other decl L35); redmine.go:186-210 attempts is func() int vs int (mismatched operations). Fix types, then finish per ticket: bounded retries w/ backoff on status/note writes, verification re-read after write, on final failure park task (leave New + local flag) and surface last_writeback_error in heartbeat status.json. Tests (fake server, incl. a 502-then-success case).
|
||||
|
||||
## Part 2 — 522 native notifier
|
||||
Finish internal/notify: [notify] config section, stdlib net/smtp send, rate-limit, collapsed repeats, offline queue (disk), redaction rules, events: turn complete/failed, quota deferral, scan error, daemon start/stop. Tests with a local fake SMTP server.
|
||||
|
||||
## Part 3 — 495 briefing pipeline
|
||||
Wire: render 0630 CST brief (executive line, per-vertical table from open issues, quota line from quota state, review-chain line, decisions-needed, system health) -> deliver as Redmine journal note on 495 + Discourse topic if creds present (graceful skip + log otherwise). Schedule hook in daemon (configurable time, default 06:00 CST render for 06:30 delivery). Test render against fake Redmine.
|
||||
|
||||
## Discipline (hard requirements)
|
||||
- Docker builders WORK in your environment (docker group fixed): `./dev.sh check` MUST be green before EACH commit.
|
||||
- One atomic conventional commit per part (3+ commits), then `git push origin main`.
|
||||
- No broad pkill. No new deps beyond stdlib (+ existing vendored).
|
||||
- Exit 0 only if all three parts are committed, pushed, check-green.
|
||||
|
||||
## Deliverable
|
||||
`REPORT-20260829-1530-beta-finish.md` in ~/.coordinate/inbox-pmo/: per-ticket commit hashes, test counts, smoke evidence, anything deferred (e.g. live Discourse send awaiting 1900 creds). Do NOT write to Redmine — PMO handles tickets.
|
||||
Reference in New Issue
Block a user