Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 1 | { |
| 2 | "$schema": "../../node_modules/wrangler/config-schema.json", | |
| 3 | "name": "g1t-api", | |
| 4 | "account_id": "1e6f2cffa3f445920836e8ebe446bb58", | |
| 5 | "compatibility_date": "2026-09-26", | |
| 6 | "placement": { "mode": "off" }, | |
| 7 | "main": "build/index.js", | |
| 8 | "build": { "command": "node ../../scripts/build-rust-worker.mjs" }, | |
| 9 | "workers_dev": false, | |
| 10 | // One Worker, two hostnames: REST on api, MCP on mcp. Both are thin | |
| 11 | // adapters over the same operations. | |
| 12 | "routes": [ | |
| 13 | { "pattern": "api.g1t.sh", "custom_domain": true }, | |
| 14 | { "pattern": "mcp.g1t.sh", "custom_domain": true } | |
| 15 | ], | |
| 16 | "services": [ | |
| 17 | { "binding": "IDENTITY", "service": "g1t-identity" }, | |
| 18 | { "binding": "REPOS", "service": "g1t-repos" }, | |
| 19 | { "binding": "WORK", "service": "g1t-work" }, | |
| 20 | { "binding": "EVENTS", "service": "g1t-events" }, | |
| The API keeps its binding to the runner Worker, which it passes self-hosted runners' brokered requests to: the hosted-agent removal had dropped the binding along with the agent calls it carried. | 21 | { "binding": "RUNNER", "service": "g1t-runner" }, |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 22 | { "binding": "BILLING", "service": "g1t-billing" }, |
| 23 | { "binding": "INTEGRATIONS", "service": "g1t-integrations" }, | |
| 24 | { "binding": "WEBHOOKS", "service": "g1t-webhooks" }, | |
| 25 | { "binding": "ACTIONS", "service": "g1t-actions" }, | |
| 26 | // Builds of deployments report through here. | |
| 27 | { "binding": "DEPLOYMENTS", "service": "g1t-deployments" }, | |
| Projects have Observability: their requests, logs, traces, metrics and errors, from apps on g1t.page with nothing to set up, and from software anywhere else over OpenTelemetry. | 28 | // Observability: a project's requests, logs, traces, errors and |
| 29 | // metrics, and OTLP sent to /otlp/v1/{traces,logs,metrics}. | |
| 30 | { "binding": "TELEMETRY", "service": "g1t-telemetry" }, | |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 31 | { "binding": "SEARCH", "service": "g1t-search" }, |
| 32 | // Secret and dependency alerts: list_security_alerts and dismissing them. | |
| API: pinned projects over REST and MCP | 33 | { "binding": "SECURITY", "service": "g1t-security" }, |
| 34 | // A person's pinned projects: list_pinned_projects and changing them. | |
| Merge packages: roles, Actions access, source label, soft delete, API | 35 | { "binding": "PROJECTS", "service": "g1t-projects" }, |
| 36 | // Packages: list_packages, their settings, deleting and restoring them. | |
| Merge main into Artifacts Phase 2 | 37 | { "binding": "PACKAGES", "service": "g1t-packages" }, |
| 38 | // Artifacts (folios): the artifact tool and /workspaces/{ws}/artifacts. | |
| The API and MCP server no longer offer g1t's own agents. g1t is what your coding agents work against, not an agent of its own, so the operations that drove hosted agents are gone: messaging an agent on a pull request (message_agent, take_messages, answer_message), assigning or delegating an issue to g1t (assign_issue, delegate), plans (plan_work, get_plan, apply_plan), the context hub (search_context, get_entity), model routes, agents' computers, AI Gateway requests, "Fix with g1t" on a security alert, and every Customize route (marketplaces, plugins, connectors). The callbacks the agent sandbox reported through (/agent-runs/*, /runs/:id/usage, /plans/:id, /reviews/:id) go with them, update_repo_settings stops accepting agent_review, max_revisions and hold_low_confidence, import_issue stops accepting assign, and an old agent token with no run behind it is refused. | 39 | { "binding": "ARTIFACTS", "service": "g1t-artifacts" } |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 40 | ], |
| Actions: OIDC tokens, the toolkit's cache and artifact services, and artifacts in R2 | 41 | // GitHub Actions artifacts older runners kept, in chunks, with KV's own |
| 42 | // expiry, read until it passes (and cache | |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 43 | // entries saved before the cache moved to R2, until they expire). |
| 44 | "kv_namespaces": [{ "binding": "BLOBS", "id": "16a4232cb746418db53782aa068be693" }], | |
| Actions: OIDC tokens, the toolkit's cache and artifact services, and artifacts in R2 | 45 | // actions/cache entries (`c/`) and artifacts (`a/`), uploaded in parts. The actions |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 46 | // service lists them and decides what is kept (services/actions/src/cache.rs). |
| 47 | "r2_buckets": [{ "binding": "ACTIONS_CACHE", "bucket_name": "g1t-actions-cache" }], | |
| Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails | 48 | // REST and MCP requests (src/limits.rs): per token, or per address |
| 49 | // without one. Ids and limits: RATE_LIMITS in packages/contracts. | |
| 50 | "ratelimits": [ | |
| 51 | { "name": "API_ANONYMOUS_LIMIT", "namespace_id": "4401", "simple": { "limit": 60, "period": 60 } }, | |
| 52 | { "name": "API_TOKEN_LIMIT", "namespace_id": "4402", "simple": { "limit": 1000, "period": 60 } } | |
| 53 | ], | |
| 54 | // Logs of a tenth of requests: agents call it constantly. | |
| 55 | "observability": { "enabled": true, "head_sampling_rate": 0.1 } | |
| Repos: a path found not to be a file is remembered for 10 minutes, so repeated misses read nothing | 56 | } |
This file's history is long; its oldest lines are credited to the oldest commit read.