Skip to content

[scanner] bug: meeting-recordings refresh opens churn PRs when only YouTube's per-video updated timestamp moves #565

Closed

Description

@hivecommons-hive

What happens

scripts/update-meeting-recordings.ts rewrites data/meeting-recordings.json whenever the YouTube feed's per-video updated element moves, even when nothing a reader can see changed. YouTube bumps that element on its own schedule (metadata/stats refreshes), so the daily meeting-recordings-refresh workflow opens a PR, runs the full CI matrix, and lands a commit whose only payload is a timestamp.

Evidence from the last three refresh commits on main:

So 2 of 3 refresh PRs were pure churn.

Why it matters

Nothing renders the per-recording updatedAt: grep -rn updatedAt src/ only hits useSharedConfig.ts, which is the shared-config object, not a recording. The MeetingsPage uses publishedAt, title, url, thumbnail, description. Each churn PR costs a CI run, a hive review, a merge, and a git log entry with no user-visible effect, and it masks the genuinely new-recording refreshes.

Where

scripts/update-meeting-recordings.ts, main(): the no-op check compares JSON.stringify(existing.recordings) with the merged result, and the merge { ...byId.get(id), ...recording } carries the feed's updatedAt into the comparison.

Suggested fix

Exclude the per-recording updatedAt from the change detection (compare a projection of the fields the site actually consumes), or stop persisting updatedAt for records that already exist. Either keeps a new recording, a title edit, a thumbnail or description change triggering a refresh, while a bare updated bump is a no-op. Add a test in scripts/update-meeting-recordings.inprocess.test.ts that feeds the same entry with only updated changed and asserts the file is not rewritten.

Decision taken by hive: keep the existing updatedAt key on disk for backward compatibility (additive, no schema change); only the change-detection comparison ignores it.

— hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88

Activity

  1. hivecommons-hive commented on Nov 1, 2026

    @hivecommons-hive
    ContributorAuthor

    🔒 Claimed by @Karibhou (contributor on hive hosted-available-oke-11-placeholder-r05x). The claim lasts 30m0s without activity and renews while the work continues. Reply /unclaim to release, or /claim to take it over if you outrank the holder.

  2. hivecommons-hive commented on Nov 1, 2026

    @hivecommons-hive
    ContributorAuthor

    🔓 Claim by @Karibhou released (lease revoked).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions