Commit Graph
10 Commits
Author SHA1 Message Date
rzen 0984cbce2a pipeline: pick-of-the-day guardrail — front page must be broadly, unmistakably benign 2026-07-11 08:09:14 -04:00
rzen d59550c473 pipeline: several reviews per run (judgment call), pick decision every run, auto-deploy note 2026-07-10 09:45:12 -04:00
rzen 622d9d63fd pipeline: autonomous operation — shortlist stage, auto modes, daily-pipeline orchestrator
- daily-finds: feed-first fetch strategy (fetch: feed + feedUrl), cadence-aware
  scanning, new score-and-shortlist stage (shortlist: true, up to 12/day, top
  1-3 flagged as review candidates), Amazon affiliate lookup for shortlisted
  physical products, and authority to apply mechanical sources.json maintenance
  (skip dead sources, demote dormant ones, record working fetch paths) instead
  of logging recommendations nobody executes.
- build-bundle: auto mode (no confirmation gate when unattended) and a 'weekly'
  date-based catch mode so shortlisted finds never sit invisible for weeks.
- cluster-bundles: auto mode.
- build-review: hero.ts registration step removed (heroes auto-discovered from
  hero.<ext>); mandatory fact-check against the product's own site in auto
  mode; amazonLink carry-through; auto mode publishes and logs instead of
  pausing twice for approval.
- New daily-pipeline skill: capture → bundle → reviews → pick of the day →
  build → commit → push → digest, with granular per-stage commits. This is the
  entrypoint for scheduled runs.
- Project CLAUDE.md documenting the pipeline and its foot-gun conventions.
2026-07-03 15:21:27 -04:00
rzen c998a88934 site: bucket find/ folders by capture date + 2026-05-09 capture (67 finds)
Migrate every find from src/content/find/<slug>/ to src/content/find/<year>/<month>/<slug>/ — all 289 existing finds moved into 2026/05/. The find content-collection loader gets a new leafSlug generateId so ids (and therefore URLs at /find/<slug>/) stay flat; src/lib/find-hero.ts switches to a recursive **/hero glob. Bundle items[], promotedTo/fromFind keys, /sources cross-refs, and category/tag pages all keep working unchanged. Skill docs (daily-finds, build-review, build-bundle, cluster-bundles), README, and CHANGELOG updated for the new on-disk path.

Also: 67 new finds from the 2026-05-09 capture run (Web Curios 8, MoMA 7, r/macapps 7, r/dadjokes 6, icanhazdadjoke 6, Wallpaper* Travel 5, Snow Peak 5, Kottke 3, Boutique Homes 3, etc.); felo-ergonic-screwdriver-set rolled back per editorial decision.
2026-05-09 10:00:04 -04:00
rzen 049c6c5377 site: rename "finds" superpost collection to "bundles"
Disambiguates the one-letter `find` (item) vs `finds` (roundup) split that
kept causing confusion. Audience-facing now: `/bundles/<slug>/`, "Bundle"
labels in home/footer/search.

Internals: `getCollection('finds')` → `('bundles')`, `Entry.type 'finds'`
→ `'bundle'`, `OgFallback 'finds'` → `'bundles'`, `findListMosaic` →
`bundleMosaic`, `FindsPost` → `Bundle`, `findsReferencing` →
`bundlesReferencing`. Build script + generated mosaic dir follow
(`scripts/build-bundle-mosaics.mjs`, `src/generated/bundle-mosaics/`).

Skills `build-finds` → `build-bundle`, `cluster-finds` →
`cluster-bundles`. The `find` collection (individual items) is unchanged.

No URL redirects: low external-link surface area.
2026-05-06 20:43:22 -04:00
rzen 7e1b200bea site: editorial tooling, grid masonry fix, new reviews + finds
UI / dev tooling
- /find/ index: sort by file birthtime desc (sub-day chronology even when
  many finds share the same frontmatter date); render the captured-at on
  its own line under the host (~0.65rem mono muted)
- New dev-only filter at the top of /find/: All / Not in lists, persisted
  in localStorage; "not in lists" hides finds referenced by any superpost
- New editorial-tags chip strip on each find card (dev-only): selected
  tags visible by default, full picker on hover/focus-within with a "…"
  button for arbitrary tag entry; clicks copy /edit-find-tag <slug> <tag>
  to the clipboard via the existing EditConfirm singleton
- New optional editorialTags: string[] field on the find collection
- New src/data/editorial-tags.json — master list of available tags (initial
  set: ["delete"]); display order follows file order

/grid/ now uses the JS Masonry component instead of CSS column-count, so
the middle column no longer "dips"; tile hover updated to match the home
page's accent-glow / no-translate style

Content
- New review: apex-markdown-processor (graduated from find of same slug;
  hero reused from the find folder)
- New review: sindre-sorhus-older-mac-apps (graduated; intentionally
  hero-less per the source page's text-only design)
- New review: superkey (added by user; hero wired in src/lib/hero.ts)
- 24 new finds captured by /daily-finds across travel, jokes, quotes,
  product picks, and indie tools
- 2 new finds superposts: 2026-05-04-a-small-atlas, 2026-05-04-off-until-needed

Misc
- daily-finds.log.md and candidate-sources.md updated with the day's runs
- build-finds skill prompt iterated by user
2026-05-04 18:57:04 -04:00
rzen 5dcd99361f site: media + colocation — chunk 1/4 (code, configs, docs)
Code, configs, README, CHANGELOG, sources/log files, .claude.
Subsequent chunks land the renamed media files.
2026-05-04 17:54:14 -04:00
rzen e873460465 site: founding post, headline post layout, masonry grid, source links
- New "Why this exists" post; masthead "founded" links to it
- Post template: serif headline + date in masthead, "Filed under {category}" in footer
- Drop counts from footer Collections list
- Masonry component for home + sources grid; source badges link to /sources/#slug
- Theme toggle (settings page + cog) with dark-mode-aware tokens
- Six new themed find lists; cluster-finds skill
2026-05-03 17:52:14 -04:00
rzen c184f3f50a daily-finds: nominate sources cited in items, no per-run cap
Make it explicit that when a post on a known source credits or links
out to another publication ("via X", "first seen on Y", etc.), that
publication becomes a candidate source. Drop the previous 1-2 nominees
cap — capture every plausible new source the run surfaces.
2026-05-03 15:17:38 -04:00
rzen 9858abedc2 initial: four-collection content pipeline for unique.rzen.dev
A small Astro + MDX blog for delightful, daily-use finds. The architecture
separates capture from publication and supports reuse:

- find/    captured items, hidden from indexes
- finds/   editorial superposts referencing find slugs in a grid
- reviews/ full-length writeups; can graduate from a find via fromFind
- posts/   regular essays

Three project-local skills under .claude/skills/ drive the pipeline:
daily-finds (capture-only sweep across sources.json), build-finds (draft
a thematic superpost), build-review (graduate a find).

sources.json carries 47 curated feeds with per-source fetch strategy
(webfetch / curl / skip) so Cloudflare-blocked sites and Reddit JSON
endpoints are handled deterministically. /sources renders a 3-column
card stream with a "Recent finds" cross-reference per source.

Seeds: 17 reviews and one superpost referencing 5 finds.
2026-05-03 11:48:03 -04:00