feat(page-26): per-row historical drill-down + History column#139
Merged
Conversation
Surfaces the per-cycle history for each artifact, reading the new
_freshness_monitor/history.json written daily at 04:00 UTC by the
freshness-monitor Lambda's historical mode (alpha-engine-data PR #339).
Closes the gap surfaced 2026-05-28: 'are there gaps in the producer's
history?' — operators want to know not just current-cycle state but
whether last weekend / last month had silent absences.
Changes:
- _load_history loader (TTL 300s — refreshes once/day, not 15min)
- New History (12wk) column on the main table:
✅ N/N continuous — clean history
⚠️ G/N gaps — gappy producer
✅ exists (latest) — latest-pointer present
❌ absent (latest) — latest-pointer missing
— — historical probe hasn't covered this id yet
(continuous-cadence artifacts skip historical mode)
- New 'Per-artifact history drill-down' section below the main
table. Each artifact in the filtered view gets an expander
showing the per-cycle sequence (date / present / size /
last_modified / error_code). Sort: gappy first, continuous last;
latest-pointer absent at top, latest-pointer present at bottom.
First 3 worst-offender entries auto-expand.
- Graceful-degrade: if history.json doesn't exist yet, page shows
a single info box explaining the daily cron + manual-invoke
instructions.
Operator caveat: calendar-naive. NYSE holidays may render as
false-positive ❌ absent cells. Calendar-aware probe is a future
enhancement (P3 in the Lambda PR).
Composes with alpha-engine-data PR #339 (historical-mode Lambda)
+ the prior page 26/27 work in #134/#135/#136/#137.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Deploying nousergon-marketing with
|
| Latest commit: |
ae96275
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://bae01833.nousergon-marketing.pages.dev |
| Branch Preview URL: | https://feat-page26-historical-row-e.nousergon-marketing.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Surfaces the per-cycle history for each artifact, reading the new
_freshness_monitor/history.jsonwritten daily at 04:00 UTC by the freshness-monitor Lambda's historical mode (alpha-engine-data PR #339).Closes the gap surfaced 2026-05-28: 'are there gaps in the producer's history?' — operators want to know not just current-cycle state but whether last weekend / last month had silent absences.
Changes
_load_historyloader (TTL 300s)✅ N/N continuous— clean history⚠️ G/N gaps— gappy producer✅ exists (latest)/❌ absent (latest)— for latest-pointer artifacts—— historical probe hasn't covered this id (continuous cadence skipped)history.jsondoesn't exist yet, page shows a single info box with manual-invoke instructions.Operator caveat
Calendar-naive. NYSE holidays may render as false-positive
❌ absentcells. Calendar-aware probe is a future enhancement (P3 in the Lambda PR).Live data verification
Current
history.json(from manual invoke earlier today):This surface will make all of those operator-visible.
Test plan
ast.parse)history.jsonproduces expected countsDeploy after merge
Composes with
🤖 Generated with Claude Code