Commit Graph
8 Commits
Author SHA1 Message Date
Gabriel Brown 86f6e391b7 Run the ticket skills through T3 Code, with a review council before pre-mr-review
Agents now start pre-mr-review on the work account themselves, through a Klaude
delegate, and continue from its verdict. A council of models on my own accounts
replaces the single reviewer before it, and adding a seat is one table row.

Proof comes from T3's browser, with mp4 recordings, and capture-proof stays as
the fallback. Ticket pages carry their own data, so index.html renders alone in
T3's file viewer, and worktree threads share the main checkout's docs.

A PreToolUse hook sends subagents in T3 threads to delegate_task. Blocker, proof,
review and MR summary rules come from ideas in t3dotgg/tstack.
2026-11-04 18:04:18 -05:00
Gabriel Brown 27e28b0dd1 Show mocks in T3 Code threads, and drop the t3 MCP servers that T3 already provides 2026-10-30 14:58:46 -04:00
Gabriel Brown a987cbab66 Generate opencode's config from a tracked template, with matching commands, agents and pwswitch 2026-10-30 13:44:29 -04:00
Gabriel Brown a787480688 Register each machine's T3 Code environment as an MCP server 2026-10-29 16:57:39 -04:00
Gabriel Brown eb0056ac94 Register the self-hosted Sentry MCP server and keep OAuth sign-ins across updates
link-mcp gains a stdio transport: the servers row names a launcher under user/agents/mcp/, run from the checkout so every machine runs the same script, and the token reaches it as MCP_TOKEN. sentry-gbrown is the first, pointing Sentry's MCP server at sentry.gbrown.org with a read-only token from the ignored env file.

A server already registered exactly as its row would register it is now left alone. Re-adding it every run threw away the sign-in of the OAuth servers, bill-tracker and atlassian, on every update.
2026-10-01 17:33:12 -04:00
Gabriel Brown 58a64d6cee Register Penpot's MCP server, whose token rides in the URL
Penpot's MCP server reads the user key only from the userToken query
parameter, never a header. link-mcp now substitutes a {TOKEN} placeholder
in a server's URL instead of sending the Authorization header, and the
servers list gains a penpot row that uses it.
2026-09-23 08:48:12 -04:00
Gabriel Brown 5ebecd59bb Register Atlassian's MCP server
Jira and Confluence reached Claude Code through two claude.ai connectors,
which are configured per account rather than per machine and had been added
twice. Atlassian hosts its own MCP server, so it belongs in this list with
the others and a new machine picks it up from the installer.

It carries no token. The server runs its own OAuth and Claude Code signs in
through /mcp on first use.
2026-09-18 17:28:56 -04:00
Gabriel Brown 2f2e3b88e8 Register MCP servers through the installer
An MCP server is a URL plus a bearer token, and the token is why this is a
stage rather than a manifest line. Panama is public, so the tokens cannot
live in it, and neither runtime keeps its server list in a file worth
symlinking: Codex writes them into config.toml beside dozens of unrelated
settings, and Claude Code into ~/.claude.json. link-mcp registers them
through the runtime's own CLI instead.

user/agents/mcp/servers is tracked and names which variable carries each
token. user/agents/mcp/env holds the tokens and is ignored. A new machine
gets the servers by dropping its own env file beside the tracked one.

Only Claude Code is handled, and only where the interview enabled personal
content. Rewriting a section of somebody's live Codex TOML is a worse
failure mode than leaving two lines to paste once.
2026-09-14 14:36:44 -04:00