AGENTS: Time lives on prod now; Claude seats and the spend governor
This commit is contained in:
1 parent
314dae19fb
commit
7ca3eee933
1 file changed
+11
-5
@@ -7,23 +7,28 @@ record; nothing here is scaffolding from before 2026-10-14.
|
||||
you (any agent) ──MCP──▶ mcp.teahub.xyz ──as the signed-in user──▶ teahub.xyz (Gitea)
|
||||
│
|
||||
login: GitHub (now), nostr (next) ├── teahubxyz/teahub the spine (this repo)
|
||||
├── teahubxyz/time mirror of github.com/teahubxyz/time (read-only here)
|
||||
├── teahubxyz/time Time: the clock (Gitea Actions on the Fly runner)
|
||||
└── <your repos>
|
||||
Time = the automation layer: lives on GitHub (teahubxyz/time), runs on GitHub Actions. Work on Time happens there.
|
||||
Time = the automation layer. It lives here, on prod (teahubxyz/time); the GitHub copy is an archived proof of concept.
|
||||
Seats: Claude (haiku / sonnet / opus / fable, ANTHROPIC_API_KEY, user-level secret) by default; Venice wired but idle.
|
||||
Spend: every model call is booked to time/ledger/<YYYY-MM>.jsonl; TIME_DAILY_USD=5, TIME_MONTHLY_USD=100 stop the
|
||||
clock and open an `andon` issue. No model decides whether to spend.
|
||||
hb-5 (the Mac) is NOT part of prod: it is the operator's playground and the old instance (matcha.teahub.xyz).
|
||||
Boring (ops MCP) lives on the Mac and may reach prod as a client; prod never depends on it.
|
||||
```
|
||||
|
||||
## Moves
|
||||
- Read first: this file, `docs/decisions.md` (why things are the way they are), `docs/rebuild.md` (what it took).
|
||||
- Work is an issue with a `DONE:` line. Open it, do it, receipt it on the issue, close it.
|
||||
- Work is an issue with a `DONE:` line. Open it, do it, receipt it on the issue, close it. Label it `ready` and Time
|
||||
dispatches it to a seat; label it `spec` and Time splits it into cards.
|
||||
- You act as yourself. There is no service token on prod. If you can't do something, your Gitea permissions are the
|
||||
reason; ask the owner (`teahubxyz`) on the issue.
|
||||
- Porting from the old instance: only when a card needs it, only after reading it, one piece per commit, and a line in
|
||||
`docs/rebuild.md` saying what it took.
|
||||
- Secrets: prod holds Gitea's own keys, the GitHub OAuth client, and the MCP's OAuth client. Nothing else. Do not add one
|
||||
without a decision in `docs/decisions.md`.
|
||||
- Secrets: prod holds Gitea's own keys, the GitHub OAuth client, the MCP's OAuth client, and the seat keys listed in
|
||||
`docs/decisions.md`. Nothing else. Do not add one without a decision there.
|
||||
- Be boring by default; get clever only on an ANDON. Deterministic scripts before cheap inference before expensive inference.
|
||||
- Cost ladder for seats: Luna = haiku, Sol = sonnet, Astra = opus. Fable is for the operator's own maths, not the factory.
|
||||
|
||||
## Where things are
|
||||
- MCP source: `mcp/` (FastMCP, deploy with `fly deploy`).
|
||||
@@ -31,3 +36,4 @@ record; nothing here is scaffolding from before 2026-10-14.
|
||||
- Rebuild log: `docs/rebuild.md`.
|
||||
- Skills: `.agents/skills/` (vendored; see its README). Marketing/launch work: read `product-marketing` first, then
|
||||
`launch` / `social` / `copywriting`; `brag-slim` for launch videos; `marketing-loops` for anything recurring.
|
||||
- Time's engine: `teahubxyz/time` `.github/time/` (`time.py` the clock, `venture.py` the venture loop, `seats.json` the seats).
|
||||
Reference in new issue
Block a user