148 Commits
Author SHA1 Message Date
teahubxyzandClaude Opus 5.5 f24e43077b gitea: prod's Fly config lives here now, pinned to Gitea 28.0.0
green-tea's fly.toml was only on hb-5 (~/green-tea), on the floating
docker.gitea.com/gitea:1.24 tag. It moves here unchanged apart from the
image, which is now an exact release. Deploy from gitea/ after a volume
snapshot.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-15 02:41:29 +00:00
teahubxyzandClaude Opus 5.5 325c7a67d1 decisions + lineage: Orgchain v1.2 (tapkeys and lineage's leaves)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 19:12:29 -07:00
teahubxyzandClaude Opus 5.5 0060ddb771 lineage: Orgchain v1.1 has lineage's keys; decisions receipt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 18:23:11 -07:00
teahubxyzandClaude Opus 5.5 a5a66885c0 decisions: Tea MCP 2.0 (typed, 29 tools, as the caller); old container stopped; Boring follows it
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-14 18:20:27 -07:00
teahubxyzandClaude Opus 5.5 fbb115923a mcp 2.0.1: tea_issues also takes labels as a comma-separated string
Connectors that were open before 2.0 keep 1.0's tool list, where labels is
one comma-separated string, until they refresh it. That form now works too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-14 18:18:02 -07:00
teahubxyzandClaude Opus 5.5 f965aa75a4 lineage: Orgchain v1 lives in lineage/orgchain; decisions receipt
docs/lineage.md: "Operate it" replaces "Rehearse it" (Orgchain v1, the
verbs and Time); "Not built yet" names the key layer on branch `tree`.
docs/decisions.md: Orgchain v1, the lineage org, and the token receipt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 18:10:11 -07:00
teahubxyzandClaude Opus 5.5 fb8acb0af9 mcp: Teahub MCP 2.0, typed and with the tools agents kept asking for
One file, 29 tools, every one acting with the caller's own Gitea token.
Parameters are typed (patterns, ranges, enums), so FastMCP refuses a bad
argument before Gitea is asked anything and publishes the limits in each
tool's schema.

New: tea_pull_get/create/review/merge, tea_labels and tea_label,
tea_commit (up to 50 files, text or base64), tea_branch_create,
tea_repo_edit (including archived), tea_hook_create (one per URL),
tea_secret_set and tea_variable_set.

Fixed:
- unknown labels are refused instead of silently dropped
- a file update is chosen from a 404 on the path, not from matching "404"
  in an error message; paths with spaces are percent-encoded
- tea_org_add_member names its team; there is no default
- org repositories are private by default, like user repositories
- "more" and "truncated" come from X-Total-Count, so they are true
- tea_issue_comments pages client-side: Gitea's endpoint is unpaged
- tea_actions reads /actions/tasks: 1.24 has no /actions/runs, so the
  old tool always got a 404
- a Gitea that does not answer is named as such instead of a masked error

Tests run against a fake Gitea (27). The same code was run against
teahub.xyz with a temporary token in scratch repositories that were then
deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-14 18:04:07 -07:00
teahubxyz 369bfddaa2 decisions: hb-5 is the shell; Boring shows pictures 2026-10-14 17:05:36 -07:00
teahubxyzandClaude Opus 5.5 4b51ff7c63 decisions: Orgchain at lineage.yolopreneur.lol/orgchain/ (+ token 41 receipt)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 23:10:12 +00:00
teahubxyzandClaude Opus 5.5 2ab5aa2f73 docs/lineage.md: rehearse it at lineage.yolopreneur.lol/orgchain/
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 23:08:58 +00:00
teahubxyz 0dc3bfa949 pages: byte ranges (206/416) and media content types 2026-10-14 15:58:43 -07:00
teahubxyz b3d35aa43b pages: PAGES_HOST (bind address); a private copy on hb-5 serves the maths site 2026-10-14 15:56:46 -07:00
teahubxyz 4576fd8d9a decisions: dead teahub.xyz names removed 2026-10-14 15:41:49 -07:00
teahubxyz 2bbed297b8 pages: _headers support, supertestnet.lol; decisions: domain audit, supertestnet back 2026-10-14 15:33:58 -07:00
teahubxyzandClaude Opus 5.5 f6051c0f76 decisions: one tree — lineage is the factory's shape (#8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 22:25:07 +00:00
teahubxyzandClaude Opus 5.5 b433a8220c SKILLS.md: belts per seat × skill; belts are badges (#8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 22:24:09 +00:00
teahubxyzandClaude Opus 5.5 16bac3848e docs/lineage.md: one tree for keys, context and pages (#8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 22:23:48 +00:00
teahubxyz 298db19e7d decisions: token receipt (35, 36) 2026-10-14 15:22:58 -07:00
teahubxyz 7cd545b2a0 pages: phly.cloud → phly/site; decisions: products in the portfolio, phly.cloud back 2026-10-14 15:22:01 -07:00
teahubxyz a60a9706cc pages: persimmons.app from persimmons/app root, phast.app off pages, extensionless HTML; decisions: phast + persimmons re-ported from canonical 2026-10-14 15:11:17 -07:00
teahubxyzandClaude Opus 5.5 679f74c9b0 decisions: SKILLS.md is the skills contract (#7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 21:50:33 +00:00
teahubxyzandClaude Opus 5.5 372ce5c0a0 AGENTS.md: skills move + pointer to SKILLS.md (#7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 21:49:41 +00:00
teahubxyzandClaude Opus 5.5 1e0e094bca skills README: point to SKILLS.md (#7)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 21:49:24 +00:00
teahubxyzandClaude Opus 5.5 6c554ae4b8 SKILLS.md: routes, ledger and belts for skills (#7)
The third root file next to AGENTS.md and DESIGN.md. Routes name 1–3 skills by path per task; the ledger
records upstream ref + tree, version and what each skill writes; belts gate trust on evidence.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 21:49:19 +00:00
teahubxyzandClaude Opus 5.5 ca281d8d8d AGENTS: what time does now, Astra and the steward, queued vs ready
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fTCFiw6ohysUDcWoPsTys
2026-10-14 21:41:20 +00:00
teahubxyzandClaude Opus 5.5 30f9f09ae8 decisions: Astra is on, and the steward merges engine PRs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fTCFiw6ohysUDcWoPsTys
2026-10-14 21:41:08 +00:00
teahubxyzandClaude Opus 5.5 e4937e3c7f pages: apex redirects /<dir>/ only for venture pages (dir has index.html); asset folders and .well-known stay on the apex
Fixes the shot of a venture whose subdomain is not ours (aicharts.yolopreneur.lol is a Worker) and the
NIP-05 path at the apex. Also: HEAD flag no longer shadowed by the path segment (that bug emptied every GET body).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-14 21:39:17 +00:00
teahubxyzandClaude Opus 5.5 17a36cd1b6 skills README: correct discovery note (Claude Code reads .claude/skills only) + caveats
The earlier README said Claude Code reads .agents/skills/. Its docs list only .claude/skills/ locations
(symlinks followed). Adds the explicit-path rule for loops and known caveats on the vendored set.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 21:29:46 +00:00
teahubxyzandClaude Opus 5.5 736a68e3a1 decisions: every write Time makes but comments and statuses goes out as time
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fTCFiw6ohysUDcWoPsTys
2026-10-14 21:10:23 +00:00
teahubxyzandClaude Opus 5.5 f75950d3d1 AGENTS: who time is (Time's own Gitea user, for opening and merging PRs)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fTCFiw6ohysUDcWoPsTys
2026-10-14 20:27:00 +00:00
teahubxyzandClaude Opus 5.5 b10c05e848 decisions: correction — the temporary admin tokens were not revoked when the log said; deleted now
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017fTCFiw6ohysUDcWoPsTys
2026-10-14 20:26:49 +00:00
teahubxyz 6cab278174 decisions: Time is a Gitea user (time, TIME_TOKEN); Astra; time#49 findings 2026-10-14 20:14:00 +00:00
teahubxyz 7ca3eee933 AGENTS: Time lives on prod now; Claude seats and the spend governor 2026-10-14 19:46:58 +00:00
teahubxyz 314dae19fb decisions: ANTHROPIC_API_KEY on prod (user-level), Claude seats + spend governor for Time 2026-10-14 19:20:20 +00:00
teahubxyz f6e28a02a2 decisions: one ledger on yolopreneur.lol; every venture static on pages at its subdomain; no Cloudflare 2026-10-14 08:25:03 +00:00
teahubxyz 0e500066ec pages: *.yolopreneur.lol wildcard — every venture at its own subdomain 2026-10-14 08:15:08 +00:00
teahubxyz e35578c73e pages: wildcard zones — <sub>.zone serves dir/<sub>, apex /<sub>/ redirects there 2026-10-14 08:15:01 +00:00
teahubxyz 36b18eb8cc product-marketing: v1 context for Teahub / Time Studio
Auto-drafted per .agents/skills/product-marketing from the Time README, the ventures index and the 2026-10-14 account setup. Customer language and metrics left open.
2026-10-14 07:50:37 +00:00
teahubxyz 1f15b5b7be pages: a site can be org/repo#branch/subdir; a hook pulls every site on that repo 2026-10-14 07:48:20 +00:00
teahubxyz 517e496061 pages: yolopreneur.lol = Time's venture index (gh-pages/ventures) 2026-10-14 07:47:47 +00:00
teahubxyzandClaude Fable 5.1 0f9b0a9fb9 decisions: skills vendored into .agents/skills (brag-slim + marketingskills starter)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:44:55 +00:00
teahubxyzandClaude Fable 5.1 379c008d8c AGENTS.md: point at .agents/skills
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:44:20 +00:00
teahubxyzandClaude Fable 5.1 11e54f73fa skills: README for .agents/skills (starter set)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:44:07 +00:00
teahubxyzandClaude Fable 5.1 eb9806b04a skills: vendor brag-slim (latent-spaces/brag, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:43:55 +00:00
teahubxyzandClaude Fable 5.1 56214e40d8 skills: vendor marketingskills/social/references/x-algorithm.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:43:16 +00:00
teahubxyzandClaude Fable 5.1 9bec56e7a3 skills: vendor marketingskills/social/references/short-form-video.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:43:05 +00:00
teahubxyzandClaude Fable 5.1 25f62fd2d7 skills: vendor marketingskills/social/references/reverse-engineering.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:42:51 +00:00
teahubxyzandClaude Fable 5.1 89bc28ae22 skills: vendor marketingskills/social/references/post-templates.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:42:36 +00:00
teahubxyzandClaude Fable 5.1 02b9a80ad4 skills: vendor marketingskills/social/references/platforms.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:42:27 +00:00
teahubxyzandClaude Fable 5.1 e84549e4ac skills: vendor marketingskills/social/references/platform-limits.md (coreyhaines31/marketingskills, MIT)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H4upF5LVwmPDDqrhdUfnXh
2026-10-14 07:42:09 +00:00