Contributing

Glossary

Terms that mean something specific in this codebase.

TermMeaning
Log / WALA repository's write-ahead log in the bucket: one index plus one entry per push
Indexrepos/<id>/index: the current ref snapshot, seq, and the ordered list of layers. The only mutable object
Entryrepos/<id>/entries/<ulid>.pack: a binary header with the push's transitions, then its packfile. Immutable
LayerAn entry as listed in the index (ulid, packSha, size); its position is its sequence number
TransitionOne ref change: ref, oldOid, newOid. Zero old = create, zero new = delete
seqHow many pushes have committed; assigned inside the compare-and-swap
Commit pointThe conditional PUT of the index; PushTransactionService.commitPush
CASCompare-and-swap: the If-Match PUT that fails if someone else wrote first
OrphanAn entry no index names; garbage, never corruption
TombstoneAn empty index with the deleted flag, left forever after a repository is deleted
Cache / materialized repositoryThe bare repository on local disk, rebuilt from the log; $TMPDIR/ghost/<id>.git
MaterializeBring the cache up to the index's seq: index-pack missing layers, reconcile refs
ghost-wal-seqThe file in a cache recording the seq it has replayed to
QuarantineA scratch object directory a push is indexed into before the commit point
Thin packA pack with deltas against objects it omits because the receiver has them
AlternatesGIT_ALTERNATE_OBJECT_DIRECTORIES: lending one cache's objects to another's git process
ProbeThe 0000-only POST git sends before a large push
SpoolThe temp file a request body is written to before anything reads it
GitRequestBody{ size, open(start?) }: a body readable many times from any offset
Pull refsrefs/pull/<n>/head and /merge, kept in the base log by a background sync
Test mergeThe deterministic merge commit behind refs/pull/<n>/merge
Base / headA pull request's target (repository, branch) and source (repository, branch)
AccountWho a stored byte is billed to: the repository's organization, or its owner
ReservationInserting a usage row under the account's advisory lock before writing bytes
Role ladderread < triage < write < maintain < admin < owner
Base permissionAn organization's default repository role for members
Outboxoutbox_event: events written in the same transaction as the change
Fan-outThe API turning an event into notifications and frozen delivery_job rows
Delivery jobA finished email or webhook in the delivery queue table
Lease / claim tokenHow the delivery and import workers fence stale workers
Compat layerapps/api/src/github/: GitHub's GraphQL and REST v3 on the API host
Node id<prefix>_<base64url(id)>, GitHub-style global ids
CaptureA recording of every request gh made in the e2e suite
ponytail:A comment marking a deliberate shortcut, its ceiling and its upgrade path
ADRA numbered design decision in docs/