fix: reading-tick dedupe + same-host link preference #77

Merged
joshtronic merged 1 commit from fix/reading-dedupe-and-host-preference into master 2026-05-22 02:50:47 +00:00
Owner

Two fixes to the discretionary-read executor surfaced by a single
journal log line. Igor (a) re-read thatgirljen.com's "fledgling"
post he'd already journaled about, and (b) on a stovak.net pick
followed the "powered by GitHub Pages" footer link instead of an
actual post.

Dedupe: filter_unread used to grep the URL literally against
log.md. That misses everything Claude wrote in prose ("Read
thatgirljen.com -- fledgling") which never captured the URL. New
rule also matches when the candidate URL's domain and slug appear
on the same line in log.md OR any brain/journal entry. Catches
single-word slugs cleanly; multi-word title slugs ("a-confession-
im-an-ai-first-coder-now") still slip through once, then self-heal
because the harness appends the URL to log.md on success.

Link selection: try_source now prefers same-host candidates. On a
personal blog the homepage links to its own posts; off-host hrefs
are nearly always footer cruft. Falls back to off-host only when
there are no same-host candidates, so aggregator-style sources
keep working.

Adds url_host and url_slug helpers shared by both filters.

Co-Authored-By: Claude Opus 4.7 noreply@anthropic.com

Two fixes to the discretionary-read executor surfaced by a single journal log line. Igor (a) re-read thatgirljen.com's "fledgling" post he'd already journaled about, and (b) on a stovak.net pick followed the "powered by GitHub Pages" footer link instead of an actual post. Dedupe: filter_unread used to grep the URL literally against log.md. That misses everything Claude wrote in prose ("Read thatgirljen.com -- fledgling") which never captured the URL. New rule also matches when the candidate URL's domain and slug appear on the same line in log.md OR any brain/journal entry. Catches single-word slugs cleanly; multi-word title slugs ("a-confession- im-an-ai-first-coder-now") still slip through once, then self-heal because the harness appends the URL to log.md on success. Link selection: try_source now prefers same-host candidates. On a personal blog the homepage links to its own posts; off-host hrefs are nearly always footer cruft. Falls back to off-host only when there are no same-host candidates, so aggregator-style sources keep working. Adds url_host and url_slug helpers shared by both filters. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
fix: reading-tick dedupe + same-host link preference
All checks were successful
Lint / check-sync (push) Successful in 4s
Lint / check-sync (pull_request) Successful in 4s
aca015b8bc
Two fixes to the discretionary-read executor surfaced by a single
journal log line. Igor (a) re-read thatgirljen.com's "fledgling"
post he'd already journaled about, and (b) on a stovak.net pick
followed the "powered by GitHub Pages" footer link instead of an
actual post.

Dedupe: filter_unread used to grep the URL literally against
log.md. That misses everything Claude wrote in prose ("Read
thatgirljen.com -- fledgling") which never captured the URL. New
rule also matches when the candidate URL's domain and slug appear
on the same line in log.md OR any brain/journal entry. Catches
single-word slugs cleanly; multi-word title slugs ("a-confession-
im-an-ai-first-coder-now") still slip through once, then self-heal
because the harness appends the URL to log.md on success.

Link selection: try_source now prefers same-host candidates. On a
personal blog the homepage links to its own posts; off-host hrefs
are nearly always footer cruft. Falls back to off-host only when
there are no same-host candidates, so aggregator-style sources
keep working.

Adds url_host and url_slug helpers shared by both filters.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
joshtronic deleted branch fix/reading-dedupe-and-host-preference 2026-05-22 02:50:47 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joshtronic/igor!77
No description provided.