time
a134dee05d
ledger: 1 calls, $0.00
2026-10-22 11:07:54 +00:00
time
b5c01c24f4
ledger: 7 calls, $0.10
2026-10-22 10:09:21 +00:00
time
e725e51f64
Start screen: pitch + repo/task form ( #238 )
...
ci / test (push) Successful in 43s
sync / sync (push) Successful in 8s
Co-authored-by: Time <time@users.noreply.teahub.xyz >
2026-10-22 10:08:09 +00:00
time
db0eb49b52
ledger: 1 calls, $0.00
2026-10-22 10:07:55 +00:00
time
79c9f1fe36
ledger: 7 calls, $0.10
2026-10-22 09:08:41 +00:00
time
7a805ce5ae
Scaffold quc app shell, health check and Cloudflare deploy ( #237 )
...
ci / test (push) Successful in 45s
sync / sync (push) Successful in 8s
time/worker-run grep -rniE "quc" --include=*.md --include=*.json . -l | head; grep -rniE "tone|voice" README.md .cla
Co-authored-by: Time <time@users.noreply.teahub.xyz >
2026-10-22 08:40:28 +00:00
time
2f112ef3c5
ledger: 9 calls, $0.18
2026-10-22 08:09:56 +00:00
teahubxyz
e81560e9ca
inference: bind TTS_MODELS as a worker var, adding Inworld, Gemini, MiniMax and xAI TTS (for the gandora ASMR voice bake-off)
ci / test (push) Successful in 47s
inference / deploy (push) Failing after 1m14s
sync / sync (push) Successful in 9s
time/worker-run grep -rIil "quc\|chair" . --exclude-dir=.git --exclude-dir=node_modules | head; cat .gitignore; sed
2026-10-21 18:35:15 +00:00
time
33af9cfc2f
ledger: 1 calls, $0.19
2026-10-21 13:14:21 +00:00
teahubxyz and Claude Fable 5.1
c4d19dcfac
speech: pass the style prompt and temperature through (Qwen3 / Orpheus / Chatterbox), allow ElevenLabs turbo and Chatterbox HD
...
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 8s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 08:20:20 +00:00
teahubxyz and Claude Fable 5.1
1e75806f4f
inference: dev.gandora.lol may call the worker
...
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 06:17:10 +00:00
time
bd431f3092
review: a review past the output limit says so, and is never a silent Object ( #202 ) ( #213 )
ci / test (push) Successful in 43s
sync / sync (push) Successful in 8s
2026-10-21 03:08:46 +00:00
time
f1f9f7ad1a
ledger: 1 calls, $0.00
2026-10-21 03:08:05 +00:00
teahubxyz and Claude Fable 5.1
09e5f99b86
inference: POST /v1/speech — Venice TTS (model in TTS_MODELS) for the DJ's spoken breaks; counts as a render
...
ci / test (push) Successful in 44s
inference / deploy (push) Failing after 1m11s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:14:25 +00:00
time
59ff3766bd
ledger: 1 calls, $0.00
2026-10-21 02:09:56 +00:00
time
af52c60e4a
housekeeping: list open cards whose work a closed card already did ( #210 )
ci / test (push) Successful in 45s
sync / sync (push) Successful in 8s
2026-10-21 02:09:45 +00:00
time
6db6a742c2
ledger: 9 calls, $0.13
2026-10-21 02:08:48 +00:00
teahubxyz and Claude Fable 5.1
ba998b6a82
inference: a reference track sets the length — Runware refuses duration alongside inputs.audio
...
ci / test (push) Successful in 45s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 7s
time/worker-run cd .github/time; python3 - <<'E'
p='test_time.py'; s=open(p).read()
s=s.replace('("I cannot do that
ci / test (pull_request) Successful in 45s
heartbeat / tick (pull_request_review) Successful in 10s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:42:33 +00:00
teahubxyz and Claude Fable 5.1
3ad797b37f
inference: when Runware fails and Venice renders instead, say why in x-fallback
...
ci / test (push) Successful in 46s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:36:27 +00:00
teahubxyz and Claude Fable 5.1
0c9ce5e966
inference: Runware wants the meter as beats per bar (2/3/4/6), not "3/4"
...
ci / test (push) Successful in 47s
inference / deploy (push) Failing after 1m11s
sync / sync (push) Successful in 9s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:34:13 +00:00
teahubxyz and Claude Fable 5.1
7dd77d29a8
inference: tracks up to 300 s
...
sync / sync (push) Canceled after 0s
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 1m10s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:28:41 +00:00
teahubxyz and Claude Fable 5.1
9888e78abb
inference /v1/render: duration up to AUDIO_SECONDS (300 on Runware), timeSignature, and a reference audio (base64 data URL) for remixes; render bodies may carry it (8 MB)
...
ci / test (push) Successful in 42s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:28:33 +00:00
teahubxyz and Claude Fable 5.1
45d577db5b
inference: quota counters cost one KV write per call and fail open — free-tier KV (1,000 writes/day) ran out and answered 500 for every call
...
ci / test (push) Successful in 42s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:53:23 +00:00
teahubxyz and Claude Fable 5.1
90e5d71a64
inference: tracks up to 120 s
...
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 1m10s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:35:26 +00:00
teahubxyz and Claude Fable 5.1
965729b5fb
SECRETS.md: every secret the factory uses — what for, where it lives, what consumes it
...
ci / test (push) Successful in 44s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:19:42 +00:00
teahubxyz and Claude Fable 5.1
755faf73c4
inference workflow: default the account id and zone; only the Cloudflare token and keys come from secrets
...
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 3s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:16:00 +00:00
teahubxyz and Claude Fable 5.1
030773bffb
inference workflow: deploy the shared inference worker from Actions (secrets stay in the repo)
...
ci / test (push) Successful in 43s
inference / deploy (push) Failing after 2s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:14:21 +00:00
teahubxyz and Claude Fable 5.1
6ecbb04730
inference.py: bind RUNWARE_API_KEY as an optional worker secret
...
ci / test (push) Successful in 43s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:08:03 +00:00
teahubxyz and Claude Fable 5.1
f6296115dd
inference: POST /v1/render — one call, audio back (Runware ACE-Step when RUNWARE_API_KEY is bound, Venice queue+poll fallback; x-seed/x-cost/x-renderer)
...
ci / test (push) Successful in 44s
sync / sync (push) Successful in 7s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:07:50 +00:00
teahubxyz and Claude Fable 5.1
8a2543f2cf
inference: quota counters in KV, not D1 (the Workers token has KV, not D1)
...
ci / test (push) Successful in 43s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 19:08:01 +00:00
teahubxyz and Claude Fable 5.1
5f61220fdc
time: a shared inference Worker, so venture pages call Venice without a key in the page
...
ci / test (push) Successful in 45s
sync / sync (push) Successful in 8s
cloudflare/inference.js: one Worker (time-inference) at inference.<TIME_VENTURE_DOMAIN> holding VENICE_API_KEY as a
secret; venture pages send the same bodies they would send Venice, with an x-app header. Allowlisted routes (chat,
music quote/queue/retrieve/complete, image generate), allowlisted models, size caps, and per-person / per-app daily
quotas in D1 (the same counter pattern as worker.js). inference.py deploys it; idempotent.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 19:03:30 +00:00
time
bd0bbbc9ac
ledger: 1 calls, $0.01
2026-10-20 17:08:05 +00:00
time
396b08316a
ledger: 1 calls, $0.01
2026-10-20 15:08:10 +00:00
time
07b4133f55
ledger: 1 calls, $0.19
2026-10-20 13:14:19 +00:00
teahubxyz and Claude
0112590a41
venture-loop.yml: quote the step name with a colon in it (YAML read it as a key: a jobless failed run)
...
ci / test (push) Successful in 42s
sync / sync (push) Successful in 6s
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: open-workflows-venture-loop
2026-10-20 05:24:58 +00:00
teahubxyz and Claude
245a77fc81
venture-loop.yml: env at the job, as venture.yml has it (Gitea made a jobless failed run of the workflow-level form)
...
venture-loop.yml (push) Invalid workflow file
sync / sync (push) Canceled after 0s
ci / test (push) Successful in 43s
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: open-workflows-venture-loop
2026-10-20 05:24:32 +00:00
teahubxyz and Claude
5ead220472
venture-loop.yml: the venture loop as one step per stage, the first real workflow for Havre's /open canvas
...
venture-loop.yml (push) Invalid workflow file
sync / sync (push) Canceled after 0s
ci / test (push) Successful in 42s
Dispatch it with a card number (or `new`) and it walks that card scout -> research/pitch -> board -> plan -> build ->
check/fix/judge/launch -> measure, each step `venture.py stage <card> <at>`, which does nothing when the card stands
elsewhere. Import the file at havre.yolopreneur.lol/open and it is a chain of eleven Step nodes; export brings it back
identical, with any Venice nodes spliced in as runner steps.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: open-workflows-venture-loop
2026-10-20 05:23:37 +00:00
teahubxyz and Claude
6aad6fedd4
venture: a stage command, one stage of one card, so a workflow can walk the loop step by step
...
ci / test (push) Successful in 43s
sync / sync (push) Successful in 6s
`python3 .github/time/venture.py stage <card> [<at>]` advances one card once, only when it stands at <at> (a
step that isn't due is not a failure); `stage new [<title>]` opens a card and prints its number. The venture
loop is now also a chain of these in .github/workflows/venture-loop.yml, which Havre's /open imports as nodes.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: open-workflows-venture-loop
2026-10-20 05:22:26 +00:00
teahubxyz and Claude Fable 5.1
822cf891d3
refresh: land only what the build changed, as a patch on the latest gh-pages, instead of copying a stale checkout over it
...
ci / test (push) Successful in 48s
sync / sync (push) Successful in 7s
A run's source checkout is taken at job start; the gh-pages checkout it commits to is taken minutes later, after
the queue and the build. Copying the whole folder reverted whatever landed in between (it just undid two commits
to Havre). Now the build's own diff is applied to the newest gh-pages, three-way; `from` keeps the whole-folder
landing, which is what it's for.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01VAvUH72XsdCitHdh3t7mjr
2026-10-20 03:46:57 +00:00
time
9aaf0ed395
Router: rank the spine's cards too, shown and never queued ( #173 ) ( #205 )
ci / test (push) Successful in 43s
sync / sync (push) Successful in 6s
2026-10-20 01:08:04 +00:00
time
2fa9968c3d
ledger: 1 calls, $0.00
2026-10-20 01:07:54 +00:00
time
6e85af7641
ledger: 1 calls, $0.00
2026-10-19 23:07:58 +00:00
time
4814d45280
Router: record each pick's outcome, so a learning policy has data ( #203 )
...
ci / test (push) Successful in 43s
sync / sync (push) Successful in 6s
Co-authored-by: Time (CEO lane) <time@users.noreply.teahub.xyz >
2026-10-19 21:53:46 +00:00
time
59a26c1f3f
ledger: 1 calls, $0.00
2026-10-19 21:53:36 +00:00
time
a4e052d248
ledger: 1 calls, $0.00
2026-10-19 20:08:03 +00:00
teahubxyz and Claude Opus 5.5
e0c2955d74
Cloud revisions: a reviewed cloud PR that gets new commits is reviewed again ( #201 )
...
ci / test (push) Successful in 44s
sync / sync (push) Successful in 5s
Cloud revisions: a reviewed cloud PR that gets new commits is reviewed again (#201 )
When the copy moves a branch whose PR is open and already reviewed, sync posts a `dispatched` beat marked `revised` on each card it closes and takes `needs-human` off the PR, so the heartbeat reviews the new head.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_017K4vyY3yUD3GsvoZaAtKkD
2026-10-19 19:00:42 +00:00
time
99a9230d27
ledger: 1 calls, $0.00
2026-10-19 18:13:24 +00:00
time
2e2329dd86
ledger: 39 calls, $0.71
2026-10-19 18:12:13 +00:00
time
da2ea2d6a8
ledger: 41 calls, $1.14
2026-10-19 17:12:51 +00:00
time
157c91f06d
ledger: 1 calls, $0.17
time/worker-run python3 /tmp/p.py && git diff --stat && cd .github/time && python3 test_time.py 2>&1 | tail -12
2026-10-19 16:47:53 +00:00