@@ 4,452 4,12 @@ Auto-generated by `.claude/scripts/build-index.sh`. Regenerated at the end of ev
Read this **before** grepping. Each section gives you the canonical place to look for symbols in that repo.
-_Generated: 2026-05-19 05:22:31 UTC_
+_Generated: 2026-05-19 10:09:28 UTC_
## Repos
-- `api.sr.ht` — master
-- `builds.sr.ht` — 0.103.12
-- `core-go` — master
-- `core.sr.ht` — 0.83.3
-- `forgeperf` — master
-- `gensokyo` — master
-- `git-am.io` — master
-- `git-rebase.io` — master
-- `git-send-email.io` — 0.1.17
-- `git.sr.ht` — 0.97.6
-- `go-away-config` — main
-- `gql.sr.ht` — master
-- `hub.sr.ht` — 0.27.6
-- `lists.sr.ht` — 0.70.6
-- `man.sr.ht` — 0.19.27
-- `meta.sr.ht` — 0.88.4
-- `pages.sr.ht` — 0.17.12
-- `paste.sr.ht` — 0.19.1
-- `sourcehut-go` — master
-- `sourcehut-migrate` — v0.3.1
-- `sourcehut-ssh` — 0.5.0
-- `sourcehut.org` — master
-- `sr.ht-apkbuilds` — master
-- `sr.ht-docs` — master
-- `sr.ht-nginx` — master
-- `sr.ht-pkgbuilds` — master
-- `srht.site` — master
-- `status.sr.ht` — main
-- `todo.sr.ht` — 0.84.4
-
-## api.sr.ht
-
-_Tag:_ `(branch: master)`
-
-**Go files (root)**: auth.go, main.go
-
----
-
-## builds.sr.ht
-
-_Tag:_ `0.103.12`
-
-**GraphQL types** (`buildsrht/schema.graphqls`)
-
-- `type`: Artifact, EmailTrigger, Job, JobCursor, JobEvent, JobGroup, Log, Mutation, OAuthClient, PGPKey, Query, SSHKey, SecretCursor, SecretFile, Settings, Task, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor, WebhookTrigger
-- `input`: EmailTriggerInput, TriggerInput, UserWebhookInput, WebhookTriggerInput
-- `enum`: AccessKind, AccessScope, JobStatus, TaskStatus, TriggerCondition, TriggerType, Visibility, WebhookEvent
-- `interface`: Entity, Secret, Trigger, WebhookPayload, WebhookSubscription
-- `scalar`: Binary, Cursor, File, Time
-
-**SQL tables** (`schema.sql`)
-
-artifact, gql_user_wh_delivery, gql_user_wh_sub, job, job_group, secret, task, trigger, user
-
-_Migrations: 2 files, latest `migrations/0002_drop_legacy_tables.sql`_
-
-**Python blueprints** (`buildsrht/blueprints/`): admin, jobs, secrets, settings
-
-**Python GraphQL queries** (`buildsrht/graphql/`): builds, secrets
-
-**Go binaries** (`cmd/`): api, worker
-
-**Go packages**: `api, worker`
-
----
-
-## core-go
-
-_Tag:_ `(branch: master)`
-
-**Go binaries** (`cmd/`): token
-
-**Go files (root)**: placeholder.go
-
-**Go packages**: `auth, client, config, crypto, database, email, errors, feature, model, objects, redis, server, valid, webhooks`
-
----
-
-## core.sr.ht
-
-_Tag:_ `0.83.3`
-
-**Python modules** (`srht/`): api, assets, cache, config, crypto, database, debug, email, flagtype, gql_lexer, markdown, metrics, redis, rid, search, validation
-
-**Python subpackages** (`srht/`): app, ariadne, graphql, icons, oauth, templates, webhook
-
----
-
-## forgeperf
-
-_Tag:_ `(branch: master)`
-
-**Go files (root)**: main.go
-
-**Go packages**: `schema`
-
----
-
-## gensokyo
-
-_Tag:_ `(branch: master)`
-
----
-
-## git-am.io
-
-_Tag:_ `(branch: master)`
-
----
-
-## git-rebase.io
-
-_Tag:_ `(branch: master)`
-
----
-
-## git-send-email.io
-
-_Tag:_ `0.1.17`
-
----
-
-## git.sr.ht
-
-_Tag:_ `0.97.6`
-
-**GraphQL types** (`gitsrht/schema.graphqls`)
-
-- `type`: ACL, ACLCursor, Artifact, ArtifactCursor, BinaryBlob, Commit, CommitCursor, Features, GitEvent, GitWebhookSubscription, Mutation, OAuthClient, Query, Redirect, Reference, ReferenceCursor, Repository, RepositoryCursor, RepositoryEvent, Settings, Signature, Tag, TextBlob, Trailer, Tree, TreeEntry, TreeEntryCursor, UpdatedRef, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: Filter, GitEventInput, GitWebhookInput, RepoInput, UpdatedRefInput, UserWebhookInput
-- `enum`: AccessKind, AccessMode, AccessScope, ObjectType, Visibility, WebhookEvent
-- `interface`: Blob, Entity, Object, WebhookPayload, WebhookSubscription
-- `scalar`: Cursor, Time, URL, Upload
-
-**SQL tables** (`schema.sql`)
-
-access, artifacts, gql_git_wh_delivery, gql_git_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, redirect, repository, user
-
-_Migrations: 6 files, latest `migrations/0006_add_resource_ids.sql`_
-
-**Python blueprints** (`gitsrht/blueprints/`): artifacts, email, manage, public, repo
-
-**Python GraphQL queries** (`gitsrht/graphql/`): artifacts, manage, settings
-
-**Go binaries** (`cmd/`): api, http-clone, shell, update-hook
-
-**Go packages**: `update-hook`
-
----
-
-## go-away-config
-
-_Tag:_ `(branch: main)`
-
----
-
-## gql.sr.ht
-
-_Tag:_ `(branch: master)`
-
-**Go files (root)**: directives.go, email.go, server.go
-
-**Go packages**: `auth, client, config, crypto, database, model, redis`
-
----
-
-## hub.sr.ht
-
-_Tag:_ `0.27.6`
-
-**GraphQL types** (`hubsrht/schema.graphqls`)
-
-- `type`: Features, MailingList, MailingListCursor, Mutation, Project, ProjectCursor, Query, SourceRepo, SourceRepoCursor, Tracker, TrackerCursor, User, Version
-- `enum`: AccessKind, AccessScope, RepoType, Visibility
-- `interface`: Entity, ProjectResource
-- `scalar`: Cursor, Time, Upload
-
-**SQL tables** (`schema.sql`)
-
-event, event_project_association, features, mailing_list, project, redirect, source_repo, tracker, user, user_webhooks
-
-_Migrations: 8 files, latest `migrations/0008_repo-type_enum.sql`_
-
-**Python blueprints** (`hubsrht/blueprints/`): mailing_lists, projects, public, sources, trackers, users, webhooks
-
-**Go packages**: `api`
-
----
-
-## lists.sr.ht
-
-_Tag:_ `0.70.6`
-
-**GraphQL types** (`api/graph/schema.graphqls`)
-
-- `type`: ActivitySubscriptionCursor, ByteRange, Email, EmailCursor, EmailEvent, GeneralACL, Mailbox, MailingList, MailingListACL, MailingListACLCursor, MailingListCursor, MailingListEvent, MailingListSubscription, MailingListWebhookSubscription, Mutation, OAuthClient, Patch, Patchset, PatchsetCursor, PatchsetEvent, PatchsetTool, Preferences, Query, Thread, ThreadBlock, ThreadCursor, Trailer, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: ACLInput, MailingListInput, MailingListWebhookInput, PreferencesInput, UserWebhookInput
-- `enum`: AccessKind, AccessScope, PatchsetStatus, ToolIcon, Visibility, WebhookEvent
-- `interface`: ACL, ActivitySubscription, Entity, WebhookPayload, WebhookSubscription
-- `scalar`: ConfirmationToken, Cursor, Time, URL, Upload
-
-**SQL tables** (`schema.sql`)
-
-access, email, gql_list_wh_delivery, gql_list_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, list, mirror, patchset, patchset_tool, subscription, subscription_request, user
-
-_Migrations: 10 files, latest `migrations/0010_add_supersedes_id.sql`_
-
-**Python blueprints** (`listssrht/blueprints/`): archives, patches, settings, user
-
-**Python GraphQL queries** (`listssrht/graphql/`): queries
-
-**Go packages**: `api, ingress`
-
----
-
-## man.sr.ht
-
-_Tag:_ `0.19.27`
-
-**GraphQL types** (`api/graph/schema.graphqls`)
-
-- `type`: Mutation, Query, Version
-- `scalar`: Cursor, Time, Upload
-
-**SQL tables** (`schema.sql`)
-
-backing_repo, root_wiki, user, wiki
-
-_Migrations: 3 files, latest `migrations/0003_remove_backing_repo.sql`_
-
-**Python blueprints** (`mansrht/blueprints/`): create, html, manage, public
-
-**Go binaries** (`cmd/`): api
-
----
-
-## meta.sr.ht
-
-_Tag:_ `0.88.4`
-
-**GraphQL types** (`metasrht/schema.graphqls`)
-
-- `type`: AuditLogCursor, AuditLogEntry, BillingAddress, BillingSubscription, Features, Invoice, InvoiceCursor, LoginSecurity, Mutation, OAuthClient, OAuthClientRegistration, OAuthGrant, OAuthGrantRegistration, OAuthPersonalToken, OAuthPersonalTokenRegistration, PGPKey, PGPKeyCursor, PGPKeyEvent, PaymentMethod, PaymentOutcome, Product, ProductPrice, ProfileUpdateEvent, ProfileWebhookSubscription, Query, SSHKey, SSHKeyCursor, SSHKeyEvent, StripePaymentIntent, StripeSetupIntent, TOTPConfig, User, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: BillingAddressInput, ProductPriceInput, ProfileWebhookInput, UpdateBillingSubscriptionInput, UserInput
-- `enum`: AccessKind, AccessScope, Currency, PaymentIntentStatus, PaymentInterval, PaymentStatus, SetupIntentStatus, SubscriptionStatus, UserType, WebhookEvent
-- `interface`: Entity, PaymentIntent, SetupIntent, WebhookPayload, WebhookSubscription
-- `scalar`: Country, Cursor, Time, URL, Upload
-
-**SQL tables** (`schema.sql`)
-
-audit_log_entry, billing_address, gql_profile_wh_delivery, gql_profile_wh_sub, invoice, oauth2_client, oauth2_grant, oauthclient, oauthtoken, payment_method, pgpkey, product, product_price, reserved_usernames, sshkey, subscription, user, user_auth_factor, user_email_change, user_notes, user_password_change, user_payment_processor, user_registration, user_webhook_delivery, user_webhook_subscription, webhook_subscription
-
-_Migrations: 12 files, latest `migrations/0012_make_fingerprint_nullable.sql`_
-
-**Python blueprints** (`metasrht/blueprints/`): auth, billing, keys, oauth2, privacy, profile, security, users
-
-**Python GraphQL queries** (`metasrht/graphql/`): admin, auth, billing, email, keys, oauth2, profile, security
-
-**Go binaries** (`cmd/`): api
-
----
-
-## pages.sr.ht
-
-_Tag:_ `0.17.12`
-
-**GraphQL types** (`graph/schema.graphqls`)
-
-- `type`: Mutation, OAuthClient, Query, Site, SiteACL, SiteACLCursor, SiteCursor, SiteEvent, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: ACLInput, FileConfig, FileOptions, SiteConfig, UserWebhookInput
-- `enum`: AccessKind, AccessScope, Protocol, WebhookEvent
-- `interface`: ACL, Entity, WebhookPayload, WebhookSubscription
-- `scalar`: Cursor, Time, Upload
-
-**SQL tables** (`schema.sql`)
-
-gql_user_wh_delivery, gql_user_wh_sub, site_access, sites, user
-
-_Migrations: 1 files, latest `migrations/0001_switch_to_brant.sql`_
-
-**Go binaries** (`cmd/`): daily, pages.sr.ht
-
-**Go packages**: `account, graph, webhooks`
-
----
-
-## paste.sr.ht
-
-_Tag:_ `0.19.1`
-
-**GraphQL types** (`pastesrht/schema.graphqls`)
-
-- `type`: File, Mutation, OAuthClient, Paste, PasteCursor, PasteEvent, Query, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: UserWebhookInput
-- `enum`: AccessKind, AccessScope, Visibility, WebhookEvent
-- `interface`: Entity, WebhookPayload, WebhookSubscription
-- `scalar`: Cursor, Time, URL, Upload
-
-**SQL tables** (`schema.sql`)
-
-blob, gql_user_wh_delivery, gql_user_wh_sub, paste, paste_file, user
-
-_Migrations: 3 files, latest `migrations/0003_drop_legacy_tables.sql`_
-
-**Python blueprints** (`pastesrht/blueprints/`): public
-
-**Python GraphQL queries** (`pastesrht/graphql/`): mutations
-
-**Go binaries** (`cmd/`): api
-
----
-
-## sourcehut-go
-
-_Tag:_ `(branch: master)`
-
-**Go binaries** (`cmd/`): git.sr.ht, meta.sr.ht
-
-**Go files (root)**: client.go, config.go, doc.go, entry.go, resources.go
-
-**Go packages**: `git.sr.ht, meta.sr.ht`
-
----
-
-## sourcehut-migrate
-
-_Tag:_ `v0.3.1`
-
-**Go binaries** (`cmd/`): sourcehut-migrate
-
----
-
-## sourcehut-ssh
-
-_Tag:_ `0.5.0`
-
-**Go binaries** (`cmd/`): sourcehut-ssh
-
-**Go packages**: `dispatch, handler, meta, shell, ssh`
-
----
-
-## sourcehut.org
-
-_Tag:_ `(branch: master)`
-
----
-
-## sr.ht-apkbuilds
-
-_Tag:_ `(branch: master)`
-
----
-
-## sr.ht-docs
-
-_Tag:_ `(branch: master)`
-
----
-
-## sr.ht-nginx
-
-_Tag:_ `(branch: master)`
-
----
-
-## sr.ht-pkgbuilds
-
-_Tag:_ `(branch: master)`
-
----
-
-## srht.site
-
-_Tag:_ `(branch: master)`
-
----
-
-## status.sr.ht
-
-_Tag:_ `(branch: main)`
-
----
-
-## todo.sr.ht
-
-_Tag:_ `0.84.4`
-
-**GraphQL types** (`todosrht/schema.graphqls`)
-
-- `type`: ACLCursor, ActivitySubscriptionCursor, Assignment, Comment, Created, DefaultACL, EmailAddress, Event, EventCreated, EventCursor, ExternalUser, Label, LabelCursor, LabelEvent, LabelUpdate, Mutation, OAuthClient, Preferences, Query, StatusChange, Ticket, TicketCursor, TicketDeletedEvent, TicketEvent, TicketMention, TicketSubscription, TicketWebhookSubscription, Tracker, TrackerACL, TrackerCursor, TrackerEvent, TrackerSubscription, TrackerWebhookSubscription, User, UserMention, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor
-- `input`: ACLInput, ImportInput, PreferencesInput, SubmitCommentEmailInput, SubmitCommentInput, SubmitTicketEmailInput, SubmitTicketInput, TicketWebhookInput, TrackerInput, TrackerWebhookInput, UpdateLabelInput, UpdateStatusInput, UpdateTicketInput, UserWebhookInput
-- `enum`: AccessKind, AccessScope, Authenticity, EmailCmd, EventType, TicketResolution, TicketStatus, Visibility, WebhookEvent
-- `interface`: ACL, ActivitySubscription, Entity, EventDetail, WebhookPayload, WebhookSubscription
-- `scalar`: Cursor, Time, URL, Upload
-
-**SQL tables** (`schema.sql`)
-
-event, event_notification, gql_ticket_wh_delivery, gql_ticket_wh_sub, gql_tracker_wh_delivery, gql_tracker_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, label, participant, redirect, ticket, ticket_assignee, ticket_comment, ticket_label, ticket_subscription, tracker, user, user_access
-
-_Migrations: 5 files, latest `migrations/0005_add_resource_ids.sql`_
-
-**Python blueprints** (`todosrht/blueprints/`): html, settings, ticket, tracker
-
-**Python GraphQL queries** (`todosrht/graphql/`): lmtp, settings, tickets, trackers
-
-**Go binaries** (`cmd/`): api
-
-**Go packages**: `api`
-
----
## Cross-repo GraphQL type map
When the same type name appears in multiple repos, it is a *different* type in each — they are not federated as one. Use this map to pick the right service before reading.
-- `ACLCursor` → git.sr.ht, todo.sr.ht
-- `ACLInput` → lists.sr.ht, pages.sr.ht, todo.sr.ht
-- `AccessKind` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `AccessScope` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `ActivitySubscriptionCursor` → lists.sr.ht, todo.sr.ht
-- `Artifact` → builds.sr.ht, git.sr.ht
-- `Features` → git.sr.ht, hub.sr.ht, meta.sr.ht
-- `MailingList` → hub.sr.ht, lists.sr.ht
-- `MailingListCursor` → hub.sr.ht, lists.sr.ht
-- `Mutation` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `OAuthClient` → builds.sr.ht, git.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `PGPKey` → builds.sr.ht, meta.sr.ht
-- `Preferences` → lists.sr.ht, todo.sr.ht
-- `PreferencesInput` → lists.sr.ht, todo.sr.ht
-- `Query` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `SSHKey` → builds.sr.ht, meta.sr.ht
-- `Settings` → builds.sr.ht, git.sr.ht
-- `Tracker` → hub.sr.ht, todo.sr.ht
-- `TrackerCursor` → hub.sr.ht, todo.sr.ht
-- `Trailer` → git.sr.ht, lists.sr.ht
-- `User` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `UserWebhookInput` → builds.sr.ht, git.sr.ht, lists.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `UserWebhookSubscription` → builds.sr.ht, git.sr.ht, lists.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `Version` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `Visibility` → builds.sr.ht, git.sr.ht, hub.sr.ht, lists.sr.ht, paste.sr.ht, todo.sr.ht
-- `WebhookDelivery` → builds.sr.ht, git.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `WebhookDeliveryCursor` → builds.sr.ht, git.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `WebhookEvent` → builds.sr.ht, git.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht
-- `WebhookSubscriptionCursor` → builds.sr.ht, git.sr.ht, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht