feat: HN ledger stores submission date (hn-date) #108

Merged
joshtronic merged 1 commit from feat/hn-submission-date into master 2026-05-22 23:52:06 +00:00
Owner

Third annotation on HN's ledger: hn-date YYYY-MM-DD, derived
from Algolia's created_at_i (HN submission time). Immutable --
set on first append, never updated.

Algolia's per-hit JSON already includes created_at_i so this is
a free add -- one more field in the jq projection, one more
column in the rank|points|date|url pipe-format, one optional
suffix on the annotation string.

epoch_to_date helper tries GNU date -d @N first (Debian, where
Igor actually runs) then BSD date -r N (local dev portability).
Falls back to empty if neither works; the annotation just gets
omitted in that case rather than breaking the read.

What it buys today: metadata when eyeballing the ledger. "Is this
URL from yesterday or from 2024?" answerable at a glance.

What it leaves room for tomorrow: optional decay-by-age in the
picker. Current sort stays points DESC, rank ASC -- if we
later want to fold age into the score (recent bangers above
ancient bangers when peaks match), the data's already there.

Brain surgery commit (back-fill hn-date on existing entries via
Algolia URL lookup) goes separately into the brain repo.

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

Third annotation on HN's ledger: hn-date YYYY-MM-DD, derived from Algolia's created_at_i (HN submission time). Immutable -- set on first append, never updated. - [ ] https://valhovey.github.io/gaia-mary/ -- hn-rank 1 -- hn-points 1128 -- hn-date 2026-05-22 Algolia's per-hit JSON already includes created_at_i so this is a free add -- one more field in the jq projection, one more column in the rank|points|date|url pipe-format, one optional suffix on the annotation string. epoch_to_date helper tries GNU `date -d @N` first (Debian, where Igor actually runs) then BSD `date -r N` (local dev portability). Falls back to empty if neither works; the annotation just gets omitted in that case rather than breaking the read. What it buys today: metadata when eyeballing the ledger. "Is this URL from yesterday or from 2024?" answerable at a glance. What it leaves room for tomorrow: optional decay-by-age in the picker. Current sort stays `points DESC, rank ASC` -- if we later want to fold age into the score (recent bangers above ancient bangers when peaks match), the data's already there. Brain surgery commit (back-fill hn-date on existing entries via Algolia URL lookup) goes separately into the brain repo. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
feat: HN ledger stores submission date (hn-date)
All checks were successful
Lint / check-sync (push) Successful in 4s
Lint / check-sync (pull_request) Successful in 4s
59cf029f89
Third annotation on HN's ledger: hn-date YYYY-MM-DD, derived
from Algolia's created_at_i (HN submission time). Immutable --
set on first append, never updated.

  - [ ] https://valhovey.github.io/gaia-mary/ -- hn-rank 1 -- hn-points 1128 -- hn-date 2026-05-22

Algolia's per-hit JSON already includes created_at_i so this is
a free add -- one more field in the jq projection, one more
column in the rank|points|date|url pipe-format, one optional
suffix on the annotation string.

epoch_to_date helper tries GNU `date -d @N` first (Debian, where
Igor actually runs) then BSD `date -r N` (local dev portability).
Falls back to empty if neither works; the annotation just gets
omitted in that case rather than breaking the read.

What it buys today: metadata when eyeballing the ledger. "Is this
URL from yesterday or from 2024?" answerable at a glance.

What it leaves room for tomorrow: optional decay-by-age in the
picker. Current sort stays `points DESC, rank ASC` -- if we
later want to fold age into the score (recent bangers above
ancient bangers when peaks match), the data's already there.

Brain surgery commit (back-fill hn-date on existing entries via
Algolia URL lookup) goes separately into the brain repo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
joshtronic deleted branch feat/hn-submission-date 2026-05-22 23:52:06 +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!108
No description provided.