# URL Shrine Distribution Sprint

Status: ready · Owner: codex · Horizon: 48 hours to a repeatable unfurl ritual

Turn the live shrine gallery, unfurl wall, and builder into a repeatable distribution system: every important PointCast URL gets a visual set, a validator pass, an audience packet, and a machine-readable manifest.

## Scoreboard

- Priority URLs: 32 shrines
- Element sets: 4 background modes
- Validator passes: 3 surfaces per URL
- Share packets: 8 audiences
- Builder presets: 5 ready templates

## Lanes

### Catalog — Codex

32 priority URLs grouped into clear shrine sets

- Extend the shrine manifest with the routes that now matter most: shrines, unfurls, next-sprint, workbench, treasury, Sparrow, and current block specimens.
- Give each route a job: who it is for, when to share it, and which proof links validate it.
- Keep /shrines.json and /unfurls.json aligned so agents can read the same structure humans browse.

### Builder — Codex + Mike

five presets that make a new unfurl easy to draft

- Add presets for block, room, system, campaign, and element shrines.
- Make the builder output the exact meta tags, manifest object, and validator links for a drafted route.
- Let a generated background be chosen from the shrine set without hand-editing JSON.

### Visuals — Imagegen + Codex

an elemental visual language that feels lived-in and useful

- Generate one more cozy set if the Element Shrine wants a second pass: water, smoke, paper, moon, and desk mess.
- Compress or convert the shrine background assets if page weight starts to feel heavy.
- Make sure every visual background still leaves clean negative space for overlaid text and cards.

### Validation — Codex

every priority URL survives common unfurl surfaces

- Run Open Graph, Twitter card, and direct HTML metadata checks against the priority URLs.
- Catch broken images, wrong dimensions, stale titles, missing alternates, and route redirects.
- Record the validation contract in the JSON manifests so the next pass is scriptable.

### Distribution — Mike + PointCast

share packets that make posting feel obvious

- Write short packets for Farcaster, iMessage, X, Slack, agent readers, local collaborators, and Nouns people.
- Route each packet to the right shrine instead of always pointing people at the homepage.
- Publish a sprint receipt that names what changed and what URL should be used first.

## Checkpoints

- **Hour 0 — Lock the current board:** /next-sprint and /next-sprint.json point at the shrine distribution sprint.
- **Hour 12 — Expand the shrine catalog:** At least 32 priority routes grouped across element, block, room, system, campaign, feed, and builder sets.
- **Hour 24 — Make the builder useful:** Presets, background choices, and copyable validator links are live in /unfurls#builder.
- **Hour 48 — Publish the ritual:** A public receipt names the recommended URLs, packets, validation results, and next visual set.

## Shipping gates

- No shrine enters the priority set without a real target URL and a working image.
- No generated background is referenced from outside public/images/shrines.
- No validator claim is listed unless it can be reproduced from a URL.
- No builder output ships if it can produce malformed JSON or raw Astro braces in markup.
- No broad share packet points only at the homepage when a sharper route exists.

## Next builds

- **Expand priority shrine catalog** (~35m): Add 10 more real URL shrines and regroup the sets where needed.
- **Builder presets** (~50m): Preset selector for block, room, system, campaign, and element shrine drafts.
- **Unfurl validator script** (~45m): Scripted metadata/image checks for every route in /unfurls.json and /shrines.json.
- **Audience share packets** (~40m): Copy blocks for Farcaster, iMessage, X, Slack, agents, local, and Nouns audiences.
- **Element visual set v2** (~30m): Second lived-in shrine background set with water, smoke, moon, paper, and stones.

## Links

- Human board: https://pointcast.xyz/next-sprint
- JSON: https://pointcast.xyz/next-sprint.json
- Shrine gallery: https://pointcast.xyz/shrines
- Builder: https://pointcast.xyz/unfurls#builder
- Manifest: https://pointcast.xyz/shrines.json
