Skip to content

Contributors

How Gradient is built, for anyone changing the code. Readers can start with the architecture and then read the part matching the change.

flowchart LR
    arch[Architecture] --> sched[Scheduler]
    arch --> proto[Proto]
    arch --> internals[Internals]
    sched --> proto

Start Here

  • Architecture

    Crates, binaries and how server, workers and the database fit together.

  • Contributing

    Licensing, development setup, workflow and code conventions.

  • Tests

    Where tests live, how to run them and the shared harness.

Core

  • Scheduler

    Shared builds, start counters, upstream substitution, cache closure and scoring.

  • Proto

    The worker protocol on /proto: handshake, assignment, jobs, transfers and federation.

  • Internals

    Git host webhooks, NAR storage, cache serving, graph queries and authentication.

  • Migrations

    Writing, registering and retiring database migrations.

Evaluation

  • Eval Worker Setup

    The evaluation subprocess pool, discovery sharding and the shared eval cache.

  • Evaluation Metrics

    Per-evaluation Nix metrics, how they are stored and shown on the Job Board.

Debugging and UI