Havre: a page and a link for each of the harbor's own, built static from cast/ #86
Closed
opened 2026-10-18 01:13:45 +00:00 by teahubxyz
·
6 comments
No Branch/Tag Specified
main
gh-pages
well-known-mail
havre/catalog-18-plus-20261024
havre/byok-unfiltered-20261024
time/card-260
modern-havre
uncensor-havre
havre-split-hide
havre-split
havre-model-sort
time/card-244
time/card-223
havre-art-and-snap
havre-remix-edit
havre-voice-in-tools
havre-asmr-mode
havre-update-pill
havre-whisper
claude/card-202-truncated-review-2wh43h
time/card-211
claude/card-198-superseded-cards-p3jqzg
havre-live
havre-open
claude/taskmaster-haggle-checkout-f57aux
havre-memory
havre-photoshoot
havre-workflows
claude/card-173-rank-spine-cards
ceo/sync-back-union
claude/card-171-router-optimization-7t2dp6
claude/router-pick-outcomes-99zcnh
time/card-48
time/card-98
time/card-170
time/card-89
time/card-160
time/card-114-gh-pages
time/card-113-gh-pages
time/card-96-gh-pages
time/card-85
havre-next2
havre-cast
time/card-82
time/card-80
time/card-79
ceo/worker-base-and-slack
time/card-87
time/card-94
chatgpt/parallel-api
time/card-95
time/card-71
mention-ledger-token
astra-board
havre-next
venture/slyng
havre-brutalist
ship-from-repo
time/card-63
time/card-60
time/card-61
No results found.
Labels
Clear labels
accessibility
andon
astra
bug
cloud
documentation
duplicate
enhancement
good first issue
help wanted
invalid
needs-human
planned
question
queued
ready
signal
signup
spec
venture
venture-batch
wontfix
Barrier affecting people with disabilities
Something isn't working
Improvements or additions to documentation
This issue or pull request already exists
New feature or request
Good for newcomers
Extra attention is needed
This doesn't seem right
Further information is requested
Time picks this up on the next heartbeat
👍 = I want the next version
early-access signup for a venture
This will not be worked on
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: teahubxyz/time#86
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Base: gh-pages
Havre's cast (
ventures/havre/cast/*.havre.jsonongh-pages: Maren, Odile, Taskmaster) is the first thing a visitor can meet, and the plan on the page promises "a page and a link for every character". Give the harbor's own theirs first, as static pages built bytools/build.sh, so there is something to share before anything is hosted. Readventures/havre/OWNER.mdfirst: it is the owner's charter, and decisions 3 and 4 in it bound this card (static only, nothing adult).Work from
ventures/havreongh-pages, on a branch offgh-pages, with the PR againstgh-pages.tools/pages.mjs, run bytools/build.shright aftertools/cast.mjs: writesc/<id>/index.htmlfor each card incast/, from one template, in the site's own style (style.cssas it is: Times for words, Courier for machinery, black on white, 1px rules; no new stylesheet, no new dependency). Each page carries the name, the tagline, the greeting, the first three examples laid out as a short conversation, the lineage line if there is one (creditLineincard.js), aMEET <NAME> IN HAVRElink to/?meet=<id>, and links to the card file (/cast/<id>.havre.json) and to the same character as a Character Card V3 at/c/<id>/<id>.card.json, written by the same tool withtoCharacterCardV3. Title, description, canonical and Open Graph tags on every page;og:imageis the site's ownshots/og.pngfor now. Nothing on these pages runs a script.c/index.html: the three as a list, titled THE HARBOR'S OWN, with the same mast and footer as the pages.app.js: on load,?meet=<id>meets that one of the harbor's own through the existingmeet()path and drops the parameter from the address (history.replaceState), so a shared link lands in their chat. An unknown id does nothing. A visitor who has met them already lands in the same chat, not a second copy.tests/pages.test.mjs) that a page exists for every card and carries its name and greeting, links the right files, and that every written V3 card comes back throughfromCharacterCardas the same card; and a step intests/smoke.mjsthat opens/?meet=odileand sees Odile's chat with the address cleaned, then opens/c/maren/with no console error.llms.txtandskill.mdmention the pages in a line each;sitemap.txtat the site root lists/,/c/and each page.tools/build.shmust keepc/(it removes files from earlier versions;c/is this version's).DONE: PR open against gh-pages;
sh tools/build.shgreen (the unit suite and the browser smoke test); the pages render from a local serve; CI green.⏱️ Time: today's spend is $5.01 of the $5.00 cap; carrying on tomorrow. Nothing is lost; this card resumes once there is budget.
Set back to
queuedfor a few hours, not dropped. The worker currently branches frommainwhatever the card says, andventures/havrelives only ongh-pages, so a run today would burn its turns on the wrong branch (that is what happened to #87, #95 and #109). I addedBase: gh-pagesto the body; the engine change that honors it is in flight, and this card goes back toreadyas soon as it lands.⏱️ Time: Claude Sonnet (Anthropic) is working on this now, on branch
time/card-86-gh-pages.⏱️ Time:
sonnetopened PR #128 (31 steps, claude-sonnet-5-5). Review and landing follow on the next beat.⏱️ Time: PR #128 is up for this card.
haikureviewed it on the PR.⏱️ Time: approved and green, merged PR #128. Card done.