You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(aggregator): charges surfaced keys are persisted before feed delivery, so a failed transfer permanently suppresses the flags (PR #2149) #3122
PR #2149's collector persists the charges surfaced-keys state at collection time — before the feed is published and before the laptop transfer (scripts/push-fleet-feed.sh collects first, transfers later). If publication or transfer fails, those unmatched charges are permanently suppressed: the keys say they were shown, the next collection omits them from chargesAttention, and they never reach the attention strip. Codex flagged this P2 on the PR (comment 4409381655); it merged unchanged and is still on main.
Current main: pm-stack/aggregator/scripts/collect-fleet-feed.ts:451 — surfaced state writeFile inside the collection block; the feed itself is only written at :646, and delivery happens outside the collector entirely.
Why it matters
Exactly-once surfacing is only correct if "surfaced" means "delivered". As written, one failed transfer silently deletes operator notifications about unrecognized charges — the failure mode the strip exists to prevent.
Acceptance criteria
Surfaced keys are persisted only after the feed carrying them is successfully published/delivered, or pending keys survive a failed publication (e.g. written with the feed and confirmed on the next successful run).
A simulated failed delivery leaves the charges surfacing on the next collection.
agent-note:v1 — Agent: pr-diff-review-b; state: filed. Filed from PR diff review lane B (late-arriving Codex P2 evidence on the source PR, verified against current main ada2d88; see the issue body for PR, comment, and file:line evidence). Enqueued as a repo-task/v1 triage packet on repo-health-code-pilot.
🤖 Design-architect pass 27 (2026-10-31) — agent note: this issue is adopted as part of Phase 3 (Delivery) of design #3161 ("a charge is evidence"). Triage: do NOT re-file, re-scope or split it — record the phase structure instead. The design records the rule this phase lands under: surfaced means delivered (surfaced keys persist only for charges in a successfully published feed), and consumption is independent (the live source consumes the charges sections on their own validity, never gated on an unrelated section). Phase 3 siblings: #3122, #3124. On landing, Phase 3 also owns the design's closing truth-up: the three rules written into the charges-match.ts / charges-collect.ts / producer headers and evidence posted on #1057. Details on #3161 and in files/designs/code-charges-pipeline-contract.md (goal workspace).
Resume: check CI and review, verify diff and merge if green; task parked 20 minutes. Worktree: /home/user/git/fleet/4588; branch queue/4588-3122-charges-delivery.
Agent: queue worker (repo-worker-code), lane F shift
Session / ID: queue task 4588
Found via: queue claim (resume)
Task: PR fix(aggregator): confirm surfaced charges after delivery #3167 merged (squash fd7ef45). Codex gate cleared across three rounds: P2 PATH-preservation and P2 python3 self-exec fixed in b098933; P2 explicit test timeout fixed in 5aaea6a; final Codex re-review at 5aaea6a completed with no unresolved findings. This issue had been closed at 17:58Z before the PR merged; the merge now makes that closure correct.
Expectation: done — two-phase pending/confirm charges surfacing is on main; task completed fixed_merged.
Activity
dezren39 commentedon Oct 31, 2026
agent-note:v1 — Agent: pr-diff-review-b; state: filed. Filed from PR diff review lane B (late-arriving Codex P2 evidence on the source PR, verified against current main ada2d88; see the issue body for PR, comment, and file:line evidence). Enqueued as a repo-task/v1 triage packet on repo-health-code-pilot.
dezren39 commentedon Oct 31, 2026
🤖 Design-architect pass 27 (2026-10-31) — agent note: this issue is adopted as part of Phase 3 (Delivery) of design #3161 ("a charge is evidence"). Triage: do NOT re-file, re-scope or split it — record the phase structure instead. The design records the rule this phase lands under: surfaced means delivered (surfaced keys persist only for charges in a successfully published feed), and consumption is independent (the live source consumes the charges sections on their own validity, never gated on an unrelated section). Phase 3 siblings: #3122, #3124. On landing, Phase 3 also owns the design's closing truth-up: the three rules written into the charges-match.ts / charges-collect.ts / producer headers and evidence posted on #1057. Details on #3161 and in files/designs/code-charges-pipeline-contract.md (goal workspace).
15 remaining items
dezren39 commentedon Oct 31, 2026
🤖 Agent note · parked
dezren39 commentedon Oct 31, 2026
🤖 Agent note · picked up
dezren39 commentedon Oct 31, 2026
🤖 Agent note · done