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.
| A project is an app or a library: libraries show their package and how to ship a release, not production | 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" }, | |
| 21 | { "binding": "BILLING", "service": "g1t-billing" }, | |
| 22 | { "binding": "INTEGRATIONS", "service": "g1t-integrations" }, | |
| 23 | { "binding": "WEBHOOKS", "service": "g1t-webhooks" }, | |
| 24 | { "binding": "ACTIONS", "service": "g1t-actions" }, | |
| 25 | // Builds of deployments report through here. | |
| 26 | { "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. | 27 | // Observability: a project's requests, logs, traces, errors and |
| 28 | // metrics, and OTLP sent to /otlp/v1/{traces,logs,metrics}. | |
| 29 | { "binding": "TELEMETRY", "service": "g1t-telemetry" }, | |
| A project is an app or a library: libraries show their package and how to ship a release, not production | 30 | { "binding": "SEARCH", "service": "g1t-search" }, |
| 31 | // Secret and dependency alerts: list_security_alerts and dismissing them. | |
| API: pinned projects over REST and MCP | 32 | { "binding": "SECURITY", "service": "g1t-security" }, |
| 33 | // A person's pinned projects: list_pinned_projects and changing them. | |
| Merge packages: roles, Actions access, source label, soft delete, API | 34 | { "binding": "PROJECTS", "service": "g1t-projects" }, |
| 35 | // Packages: list_packages, their settings, deleting and restoring them. | |
| Merge main into Artifacts Phase 2 | 36 | { "binding": "PACKAGES", "service": "g1t-packages" }, |
| 37 | // 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. | 38 | { "binding": "ARTIFACTS", "service": "g1t-artifacts" } |
| A project is an app or a library: libraries show their package and how to ship a release, not production | 39 | ], |
| Actions: OIDC tokens, the toolkit's cache and artifact services, and artifacts in R2 | 40 | // GitHub Actions artifacts older runners kept, in chunks, with KV's own |
| 41 | // expiry, read until it passes (and cache | |
| A project is an app or a library: libraries show their package and how to ship a release, not production | 42 | // entries saved before the cache moved to R2, until they expire). |
| 43 | "kv_namespaces": [{ "binding": "BLOBS", "id": "16a4232cb746418db53782aa068be693" }], | |
| Actions: OIDC tokens, the toolkit's cache and artifact services, and artifacts in R2 | 44 | // actions/cache entries (`c/`) and artifacts (`a/`), uploaded in parts. The actions |
| A project is an app or a library: libraries show their package and how to ship a release, not production | 45 | // service lists them and decides what is kept (services/actions/src/cache.rs). |
| 46 | "r2_buckets": [{ "binding": "ACTIONS_CACHE", "bucket_name": "g1t-actions-cache" }], | |
| Merge branch 'worktree-agent-a8752162fea25f63f' into spend-guardrails | 47 | // REST and MCP requests (src/limits.rs): per token, or per address |
| 48 | // without one. Ids and limits: RATE_LIMITS in packages/contracts. | |
| 49 | "ratelimits": [ | |
| 50 | { "name": "API_ANONYMOUS_LIMIT", "namespace_id": "4401", "simple": { "limit": 60, "period": 60 } }, | |
| 51 | { "name": "API_TOKEN_LIMIT", "namespace_id": "4402", "simple": { "limit": 1000, "period": 60 } } | |
| 52 | ], | |
| 53 | // Logs of a tenth of requests: agents call it constantly. | |
| 54 | "observability": { "enabled": true, "head_sampling_rate": 0.1 } | |
| A project is an app or a library: libraries show their package and how to ship a release, not production | 55 | } |
This file's history is long; its oldest lines are credited to the oldest commit read.