Skip to content

Fan board changes out to the feed that serves the board - #47

Merged
bdelanghe merged 2 commits into
mainfrom
claude/bounded-desk-tools-3fcown
Aug 31, 2026
Merged

Fan board changes out to the feed that serves the board#47
bdelanghe merged 2 commits into
mainfrom
claude/bounded-desk-tools-3fcown

Conversation

@bdelanghe

Copy link
Copy Markdown
Contributor

projects_v2_item reached only .github-private. But a card moved on org project #2 — a Status drag, a Score edit — changes the board's ranking, and front-desk-feed queries the board itself, so nothing that wakes the private projection wakes the feed.

Measured 2026-08-30: the projection updated at 22:52 and desk.bounded.tools was still serving the 21:25 snapshot — a full cron slot behind, and by construction up to an hour.

That was merely stale until desk gained Web Push. Desk now sends a payload-less push on a board change and the service worker fetches the board to learn what the push was about, so an unwoken feed turns a stale page into a wrong notification: it says the board changed and hands the reader a board that has not. Worse than not notifying.

What it does not fix, recorded in the code

Fanning out to both targets narrows the window; it does not close it. The push comes from the first target's lane (front-desk-projection.yml is NOTIFY_WORKFLOW_REFS[0] in desk's src/oidc.js) and the board it points at is the second target's feed branch — and this dispatches to both at once, so the fast lane can still notify before the slow one has published.

front-desk-feed's publish.yml mints a broker token, queries the whole board, signs twice with cosign sign-blob and force-pushes. It is not going to win that race.

What a sender can do is take the skew from up to an hour down to the length of that job. Ordering two repos' Actions lanes is not something this Worker can express — that would need an ordering neither repo has.

Verification

bun test — 130 pass, 0 fail. tsc --noEmit clean.

Why Claim-issue and not Closes

#44's code half merged in #43. What remains on that issue is provisioning that is not mine to do — creating and installing bs-door-dispatch, subscribing bs-door-hooks to the three events. A squash merge reads closing keywords from the commit message, so a Closes here would have silently closed an issue with your setup work still outstanding.

Pairs with front-desk-feed#5, which adds the receiving half.

Claim-issue: #44

🤖 Generated with Claude Code

https://claude.ai/code/session_01EmJrUXmQBxc6Gsf3Lqvp4f


Generated by Claude Code

claude added 2 commits August 31, 2026 00:21
`projects_v2_item` reached only `.github-private`. But a card moved on org
project #2 — a Status drag, a Score edit — changes the board's RANKING, and
front-desk-feed queries the board itself, so nothing that wakes the private
projection wakes the feed.

Measured 2026-08-30: the projection updated at 22:52 and desk.bounded.tools
was still serving the 21:25 snapshot, a full cron slot behind and by
construction up to an hour.

That was merely stale until desk gained Web Push. Desk now sends a
payload-less push on a board change and the service worker fetches the board
to learn what the push was about, so an unwoken feed turns a stale page into
a wrong notification: it says the board changed and hands the reader a board
that has not. Worse than not notifying at all.

Claim-issue: #44

Co-authored-by: Claude <noreply@anthropic.com>
…loses it

The push comes from the first target's lane (front-desk-projection.yml is
NOTIFY_WORKFLOW_REFS[0] in desk's src/oidc.js) and the board it points at is
the second target's `feed` branch. This dispatches to both at once, so the
fast lane can still notify before the slow one has published.

front-desk-feed's publish.yml mints a broker token, queries the whole board,
signs twice and force-pushes; it is not going to win that race. Fanning out
here takes the skew from up to an hour down to the length of that job, which
is all a sender can do — ordering two repos' Actions lanes is not something
this Worker can express.

Claim-issue: #44

Co-authored-by: Claude <noreply@anthropic.com>
@bdelanghe
bdelanghe marked this pull request as ready for review August 31, 2026 12:04
@bdelanghe
bdelanghe merged commit ba27bd9 into main Aug 31, 2026
14 checks passed
@bounded-systems-front-desk bounded-systems-front-desk Bot moved this from Todo to Done in Front Desk Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants