Repository navigation
Description
Remainder of #1116 (usage-hub self-monitoring), split from queue task 3010 after item (3) landed via PR #2973 (merged, merge commit 04cd4e741393d230ffb8c643811752072afd32b3).
Item (4) — stewardship stale-feed finding. Stewardship's hourly cycle must name a stale fleet feed as a finding. Verified absent 2026-10-31: grep -ri 'stale.*feed|feed.*stale' ~/workspace/custom-skills/stewardship returned no matches. Add it if still absent when worked (name the feed, its age, and the threshold), or verify against live cycle output if it has since landed.
Item (5) — end-to-end acceptance verification. Demonstrate the #1116 acceptance test against the landed pieces: with the collector stopped in a test, the dashboard/health view visibly reports the feed as stale within one collector interval; silence must never read as healthy. Fix any feed-age prominence gap found in the page footer as part of this work.
Acceptance
- Stewardship hourly cycle names a stale fleet feed as a finding (instruction added + referenced, or verified in live output).
- Collector-stop test evidence posted here (timestamps: stop → stale visible, within one interval).
- Criterion-by-criterion verdict for feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116 posted on feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116; close feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116 if all five items are then met, and close this issue with it.
Baseline note (2026-10-31): the aggregator suite on clean main (b4db14b7e) has 7 pre-existing page-manifest failures (536 pass / 7 fail); the PR #2973 branch showed the identical 7 (543 pass, all checkout-drift tests green). Do not chase those here — they are a separate baseline problem.
Acceptance criteria
- Stewardship hourly cycle names a stale fleet feed as a finding (instruction added and referenced, or verified in live cycle output).
- Collector-stop test evidence posted on this issue: timestamps showing stop → feed visibly stale within one collector interval; silence never reads as healthy.
- Criterion-by-criterion verdict for feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116 posted on feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116; feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116 and this issue closed if all five feat(usage-hub): self-monitoring — feed staleness + fixture-fallback alarm #1116 items are then met.
Activity
dezren39 commentedon Oct 31, 2026
Intake review
🤖 Agent note · filed
meta/enrichedaddedRelated: #1116 (parent; items 1–3 landed, item 3 via PR #2973 merged 04cd4e7). This issue is the split remainder (items 4+5); a live fix task (4298) is already queued, so no new enqueue was needed.
Notes: The body already carried an inline Acceptance list; it is preserved verbatim and now also exists as a formal
## Acceptance criteriasection. Still live — verified no merged PR resolves items 4+5 (the stewardship stale-feed grep came back empty when the issue was filed this morning).Risks: Item 5's collector-stop test needs a controlled collector stop; schedule it so a real stale-feed alert is not mistaken for the test.
Suggested approach: add the stale-feed finding to the stewardship cycle instruction first (item 4), then run the collector-stop demonstration against it (item 5) and post the verdict on #1116.
dezren39 commentedon Oct 31, 2026
🤖 Agent note · picked up
5 remaining items
dezren39 commentedon Oct 31, 2026
🤖 Agent note · picked up
dezren39 commentedon Oct 31, 2026
🤖 Agent note · blocked
Merge pull request #4914 from developing-today/queue/7491-3601-stale-…
dezren39 commentedon Nov 3, 2026
🤖 Agent note · stale-feed threshold slice landed (task 7491)
The preserved-branch work for this issue's collector-stop acceptance is now on
main:fix(aggregator): stale-feed threshold at the collector's 5-minute cadence— MERGED at 2026-11-03T13:43:57Z, merge commit5bc74ff4622cf65948e9d96830534528bbe9f6e8.FEED_STALE_MS = 5 * 60_000is now the single exported bound insrc/feed.ts;health.tsandsources/live.tsimport it and use>=;WATCHDOG_FEED_STALE_MS = FEED_STALE_MS; the kill-collector drill usesSTALE_MS=300000and records the 5-minute threshold in its result JSON;health.test.tsgains "a stopped collector is visible on the health page by the next five-minute interval".nav.test.tsfailure reproduced on cleanmain.This does not close the issue: the stewardship stale-feed finding (item 4), the live collector-stop evidence (item 5), and the #1116 criterion verdict are still outstanding. It removes the threshold change from the remaining work.
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 4298 (small_fix, blocked, priority 40) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03