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.
|
||||||
@@ -101,3 +101,4 @@
|
|||||||
2026-08-29T09:04:45-05:00 | PMO | hb 09:02 audit: q17 good (524 verified+archived). Loop flash non-deliveries confirmed on 521(re-noise,harmless)/522/495/497 (495 burned 131k tok) -> systemic fix: default_class=code (all loop turns -> glm-5.2), container restarted; 522+495 reopened New (re-turn on 5.2), 497 re-parked In Progress (hard block until 1900 wiring), all statuses verified live. 521 Resolved (its 2nd loop turn was noise; real work was q15). Beta: loop redoes 522+495 on 5.2 now
|
2026-08-29T09:04:45-05:00 | PMO | hb 09:02 audit: q17 good (524 verified+archived). Loop flash non-deliveries confirmed on 521(re-noise,harmless)/522/495/497 (495 burned 131k tok) -> systemic fix: default_class=code (all loop turns -> glm-5.2), container restarted; 522+495 reopened New (re-turn on 5.2), 497 re-parked In Progress (hard block until 1900 wiring), all statuses verified live. 521 Resolved (its 2nd loop turn was noise; real work was q15). Beta: loop redoes 522+495 on 5.2 now
|
||||||
2026-08-29T10:05:24-05:00 | PMO | hb 10:02 audit: 522+495 5.2 turns were REAL (24-27 toolcalls; internal/notify/ exists) but starved at 12 rounds -> false Resolved x2. Fix: max_rounds=30 + WIP-commit discipline in refeed notes; both reopened New. Cloudron flapped 3x today (502/502/500) — writeback losses real (519 case) -> filed 526 retry/backoff @Beta. 497 parked. Loop picks 522 (or 526) next scan
|
2026-08-29T10:05:24-05:00 | PMO | hb 10:02 audit: 522+495 5.2 turns were REAL (24-27 toolcalls; internal/notify/ exists) but starved at 12 rounds -> false Resolved x2. Fix: max_rounds=30 + WIP-commit discipline in refeed notes; both reopened New. Cloudron flapped 3x today (502/502/500) — writeback losses real (519 case) -> filed 526 retry/backoff @Beta. 497 parked. Loop picks 522 (or 526) next scan
|
||||||
2026-08-29T14:08:06-05:00 | PMO | hb 14:02 (4 stacked: PMO quota-walled 10-14). Loop status: 526 turn delivered writeback/retry.go WIP (NON-compiling, uncommitted); 522 second turn + 495 second turn killed by DNS outage 15:31-15:34Z (Tailscale/embedded-DNS blip, IPv6-only record; recovered 14:0x, full path verified from container). Deduped 525/526 (526 Rejected, rel #93). Released 525/522/495 with compile-error + WIP-commit notes. Beta open: 525/522/495 + 497 parked
|
2026-08-29T14:08:06-05:00 | PMO | hb 14:02 (4 stacked: PMO quota-walled 10-14). Loop status: 526 turn delivered writeback/retry.go WIP (NON-compiling, uncommitted); 522 second turn + 495 second turn killed by DNS outage 15:31-15:34Z (Tailscale/embedded-DNS blip, IPv6-only record; recovered 14:0x, full path verified from container). Deduped 525/526 (526 Rejected, rel #93). Released 525/522/495 with compile-error + WIP-commit notes. Beta open: 525/522/495 + 497 parked
|
||||||
|
2026-08-29T15:05:15-05:00 | PMO | hb 15:02 ROOT CAUSE DAY: loop turns could NEVER build/test — docker.sock mounted but permission denied (root:988 vs uid 1001); 3 more false Resolves (525/522/495, 30/30 rounds, 4.3M prompt tokens, zero commits, retry.go still broken). FIXED: group_add DOCKER_GID to compose + recreated w/ full env (first recreate dropped HARNESS_UID=1001 -> crash loop, re-upped correct); docker server 29.7.2 reachable from loop container, healthy. Consolidated finish turn work-q18 dispatched on 5.2 (all 3 tickets, check-green-before-commit, push). Token-burn evidence -> 516. Loop idle (scope 0) until PMO refeeds post-q18
|
||||||
|
|||||||
@@ -23,3 +23,4 @@
|
|||||||
2026-08-29T12:02:15-05:00 wake sent (pending=5 active=0)
|
2026-08-29T12:02:15-05:00 wake sent (pending=5 active=0)
|
||||||
2026-08-29T13:02:16-05:00 wake sent (pending=5 active=0)
|
2026-08-29T13:02:16-05:00 wake sent (pending=5 active=0)
|
||||||
2026-08-29T14:02:16-05:00 wake sent (pending=5 active=0)
|
2026-08-29T14:02:16-05:00 wake sent (pending=5 active=0)
|
||||||
|
2026-08-29T15:02:16-05:00 wake sent (pending=5 active=0)
|
||||||
|
|||||||
Reference in New Issue
Block a user