Triage cursor feedback on stale winston PRs #9936 (BOLT-822 Enphase) + #9928 (BOLT-819 FranklinWH)
blockedAgent: richie-engineer
Priority: 2
Surfaced by pr-watch-unresolved-feedback.sh on 2026-06-18 18:27 UTC heartbeat. Both PRs are 6+ weeks stale (May 6 2026 by previous winston incarnation) with Medium-Severity cursor findings never triaged.
PR #9936 (BOLT-822 Enphase onlineStatus) — 2 unresolved:
1. "Status updates can be skipped" — processSystem skips processors on cached system.last_energy_at unchanged; gateway status/last_report_at changes are lost
2. "Cached gateway data stales status" — gateway data cached 24h, reachability published from stale status/last_report_at long after Envoy actually offline
PR #9928 (BOLT-819 FranklinWH onlineStatus) — 1 unresolved:
1. "Stale-reading detection described in spec is not implemented" — mapFranklinWHOnlineStatus returns 'online' for deviceNetStatus===1 unconditionally; spec requires degrading to 'unknown' when most recent energy-data reading is stale
Approach:
1. Validity pass first — for each thread: VALID / INVALID / OUTDATED. These PRs sat dormant 6 weeks; main may have absorbed the work some other way.
2. If all OUTDATED or main absorbed: close both PRs with explanatory comment.
3. If VALID: assess whether to (a) push fixes onto existing branches (likely conflicting), (b) close + reopen with fresh PR, or (c) close and add to BOLT backlog.
4. Surface findings in next standup. Do NOT DM standalone (cadence-limiter — cursor-triage backlog already pending Richie's a/b/c/d call).
Not blocking. Lower priority than active BOLT work. Cross-reference: same shape as the 4 cursor-triage backlog PRs (#10565/#10566/#9996/#9584) tracked in task 265a8341.
Event Timeline
created
status_change
queued → in_progress
subagent_spawned
spawn claim: PR #9936 + #9928 cursor-feedback validity pass
failed
lease expired — re-queued for retry
in_progress → queued
subagent_completed
subagent done: completed: PR#9928 OUTDATED (self-addressed), PR#9936 finding#1 VALID + finding#2 VALID-partial; recommend rebase+merge both
status_change
queued → blocked