Skip to content

board: keep the interests backlog depth when the digest is late - #67

Merged
Jammy2211 merged 2 commits into
mainfrom
claude/pyautomemory-slack-paper-post-hk43r7
Aug 28, 2026
Merged

Jammy2211 merged 2 commits into
mainfrom
claude/pyautomemory-slack-paper-post-hk43r7

Conversation

@Jammy2211

@Jammy2211 Jammy2211 commented Aug 28, 2026 •

Copy link
Copy Markdown
Collaborator

Found while diagnosing the missing 2026-08-28 #papers post. The digest itself was fine — every cron in Mind and Memory was delivered ~11h late on the 27th and not at all on the 28th (recorded in PyAutoMind draft/bug/ci/scheduled_runs_delivered_hours_late.md). But chasing it surfaced two bugs here, with one root.

main is red — this PR is what clears it

tests/test_board.py pinned its fixture dates but not its clock, so _tree's last digest: 2026-08-26 crossed the staleness threshold this morning and two tests began failing on a calendar day rather than on a code change.

That was a prediction when this PR was opened; it is now observed. validate failed on main on both of today's digest commits:

  • run #73 — inbox: appended:1, stamped:2026-08-28
  • run #74 — interests: appended:10, stamped:2026-08-28

Both with the same 2 failed, 166 passed:

FAILED tests/test_board.py::test_the_backlog_depth_is_on_the_page
FAILED tests/test_board.py::test_an_empty_interests_list_says_which_kind_of_empty

Nothing had pushed to main between the fixtures ageing out and those commits, which is the only reason it stayed green until 13:14Z.

_snap_with_remote and _interests now pin generated, exactly as _inbox already did with its own calibrated date.

The failure was real, not just fixture drift

_render_html built the interests stale summary as N paper(s) · <warning>, dropping the · M more days behind it that the fresh summary carries. That same string is what _EXTRA_JS swaps in via data-stale-text, so even a fresh render lost the depth the moment the browser recomputed staleness.

The effect: the board hides how many days are queued behind the batch on screen precisely when the digest is late — which is when you most need to know whether to keep tapping 🧹. The markdown renderer was never affected; only the HTML board.

behind now rides on both texts.

Verification

  • 169 tests pass (was 166 + 2 failing); make validate green.
  • The new test_the_backlog_depth_survives_the_stale_banner was checked non-vacuous: reverting scripts/board.py alone makes it fail.
  • main merged in, so this is tested against today's filed papers.

No behaviour change to the fresh path, the sweep, the lapse window, or any action URL.

claude added 2 commits August 28, 2026 13:10
Two bugs, one root: the interests tier's staleness banner and its backlog
depth were mutually exclusive, and the suite could not see it because its
fixtures aged with the calendar.

- `_render_html` built the stale summary as "N paper(s) · <warning>", dropping
  the "· M more days behind it" the fresh summary carries. That text is also
  what `_EXTRA_JS` swaps in via `data-stale-text`, so even a fresh render lost
  the depth the moment the browser recomputed staleness. A late digest is
  exactly when the depth matters — how many days are queued behind the one on
  screen is what tells you whether to keep tapping 🧹. `behind` now rides on
  both texts.

- tests/test_board.py pinned its own dates but not its clock, so `_tree`'s
  "last digest: 2026-08-26" went stale on 2026-08-28 and two tests started
  failing on a calendar day rather than a code change. `_snap_with_remote` and
  `_interests` now pin `generated` the way `_inbox` already did.

The failures were real, not just fixture drift: the render they caught is the
one the board shows right now, with the nightly digest running late.

169 tests pass; make validate green.
@Jammy2211
Jammy2211 merged commit 3c00470 into main Aug 28, 2026
1 check passed
@Jammy2211
Jammy2211 deleted the claude/pyautomemory-slack-paper-post-hk43r7 branch August 28, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants