Venture home folder: a renamed venture keeps building and measuring at its new address #191
Open
time
wants to merge 5 commits from
time/card-160 into main
pull from: time/card-160
merge into: teahubxyz:main
teahubxyz:main
teahubxyz:gh-pages
teahubxyz:havre/catalog-18-plus-20261024
teahubxyz:havre/byok-unfiltered-20261024
teahubxyz:time/card-260
teahubxyz:typy/context-words-254
teahubxyz:typy/center-target-254
teahubxyz:typy/inline-preview-254
teahubxyz:typy/smooth-typing-254
teahubxyz:typy/v0-254
teahubxyz:modern-havre
teahubxyz:uncensor-havre
teahubxyz:havre-split-hide
teahubxyz:havre-split
teahubxyz:havre-model-sort
teahubxyz:time/card-244
teahubxyz:time/card-223
teahubxyz:havre-art-and-snap
teahubxyz:havre-remix-edit
teahubxyz:havre-voice-in-tools
teahubxyz:havre-asmr-mode
teahubxyz:havre-update-pill
teahubxyz:havre-whisper
teahubxyz:claude/card-202-truncated-review-2wh43h
teahubxyz:time/card-211
teahubxyz:claude/card-198-superseded-cards-p3jqzg
teahubxyz:havre-live
teahubxyz:havre-open
teahubxyz:claude/taskmaster-haggle-checkout-f57aux
teahubxyz:havre-memory
teahubxyz:havre-photoshoot
teahubxyz:havre-workflows
teahubxyz:claude/card-173-rank-spine-cards
teahubxyz:ceo/sync-back-union
teahubxyz:claude/card-171-router-optimization-7t2dp6
teahubxyz:claude/router-pick-outcomes-99zcnh
teahubxyz:time/card-48
teahubxyz:time/card-98
teahubxyz:time/card-170
teahubxyz:time/card-89
teahubxyz:time/card-114-gh-pages
teahubxyz:time/card-113-gh-pages
teahubxyz:time/card-96-gh-pages
teahubxyz:time/card-85
teahubxyz:havre-next2
teahubxyz:havre-cast
teahubxyz:time/card-82
teahubxyz:time/card-80
teahubxyz:time/card-79
teahubxyz:ceo/worker-base-and-slack
teahubxyz:time/card-87
teahubxyz:time/card-94
teahubxyz:chatgpt/parallel-api
teahubxyz:time/card-95
teahubxyz:time/card-71
teahubxyz:mention-ledger-token
teahubxyz:astra-board
teahubxyz:havre-next
teahubxyz:venture/slyng
teahubxyz:havre-brutalist
teahubxyz:ship-from-repo
teahubxyz:time/card-63
teahubxyz:time/card-60
teahubxyz:time/card-61
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
No labels
needs-human
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#191
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.
Adds
home_of(w, reg=None)in venture.py. It returns the entry's ownhome, else the registry entry'shome, else the slug. Everyventures/<slug>/path the loop reads or writes now goes through it:build_bodycheck_page,judgeand thebrowser_checkfolderpicspaths recorded at launchtime.jsingive_backendandrefresh_backendsblob_urland the Code link in the launch postindex_htmlpasses its ownreg, so it costs no extra fetch)w["url"]issite_of(home_of(w))next_versionsetspriorto the home'sindex.htmland carrieshomeinto v2. It adds the key only when the home differs from the slug, so a venture without a home is unchanged. The slug stays the key in beats, the registry, the signup form and the backend name.Test 79 in test_time.py now pins:
home_ofblob_urlbuild_bodycheck_pageandjudgereading fromventures/cartridge/next_version'shomeandprioradvanceEach of these also checks that a venture without a home is unchanged. Result:
python3 .github/time/test_time.pypasses (rc=0).Not checked: the opt-in legacy suite (
TIME_TEST_VENTURE=1). It stops atunexpected GET /repos/o/r/labelsin the old GitHub fake. I couldn't run a baseline to confirm it failed before my change, because the branch history is a single commit. Its stage code is covered by the 79 pins above, not by that suite.Closes #160
worker: Claude Sonnet (Anthropic) via Time
Object
The core change matches the card:
home_of, the build/check/judge/LAUNCH/shots/time.js paths,blob_url, the portfolio links, andnext_version'shomeandprior. The blocking problem is how the lookup is done, plus one unverified item.Registry fetch on every path call (venture.py:102-107).
home_of(w)falls through toregistry()wheneverwhas nohome, which is every venture except a renamed one. Build paths call it repeatedly:blob_url,build_body,backend_brief,check_page,judge,true_drafts,launch_post,launch,give_backend, and about ten sites inadvance(e.g. around lines 1594, 1616, 1625, 1645, 1660, 1667, 1716). A single tick can fetch the registry many times. Worse, for ventures that were fine before, a failed registry read now breaks their build, check or launch, which is a regression in the unchanged path.index_htmlavoids this by passingreg, which shows the cost was noticed but not handled for the other callers. The fix is to resolve the home once, when the venture is picked or planned (e.g. setw["home"]from the registry at that point, asnext_versionalready does for v2), and havehome_ofread onlyw. Then the registry is read once, and a missing home just means the slug.Unverified test status. The only check,
ci / test (pull_request), is still pending. The PR's "green" claim rests on a local run only, so the card's DONE condition ("test_time.py green") is not yet confirmed on the head commit.Coverage gaps (minor). Test 79 does not exercise
give_backendorrefresh_backends(time.js), thelaunch()picspaths,browser_check, or the raw shot URL inadvance. The"box-art-night/" not in build_body(...)assertion is weak because it only rules out one string. These are not blocking, but they are the paths most likely to regress silently.Backend brief slug (venture.py:685).
backend_briefnow passeshome_of(w)asslug, while the PR says the backend name stays the slug. This may be intended, since it is a path in the brief, but it should be stated in the PR or the brief's wording should be checked.Please make the lookup single-shot (item 1), confirm CI is green on the head commit (item 2), and then this can be approved.
review by haiku · claude-haiku-5-5 · via Time
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.