~ knotless Search/
↑↓ move↵ open⇧↵ all results

grain.social/grain

photography-focused photo sharing platform

grain.social
1 collaborator
0
2

Seven reviewed pulls land on feature/rust together, checked once

Merged
Merged chadtmiller.com asked to merge into feature/rust from grain.social/grain:batch/one

What changes

No new code. This is seven pulls into feature/rust, each already approved by review at its head and passing every check against an earlier feature/rust, merged together so the runner checks the combination once rather than seven times in turn:

  • spaces/support (A login asks for the space scopes of a PDS that serves spaces), with spaces/core (…/3mza3zzrrcfku) under it
  • infra/flags (…/3mza7mqh2ofzo)
  • infra/headers (…/3mza7ky6ut5on)
  • infra/did-json (…/3mza7lknrbn5m)
  • gaps/graph (…/3mza75hfdbrq6)
  • gaps/stories (…/3mza7bthk3h5m)
  • gaps/sitemap (…/3mza7hjmguydu)

Merging this fast-forwards feature/rust over each pull's own commits, so each shows as merged.

Why

Every merge into feature/rust moves its base, and a pull is merged only with checks of it against the base as it is now. With about twenty pulls open and a backed-up runner, landing them one by one costs a full runner cycle each.

How it was checked

The merges are git's own except two conflicts, both only lists that each side added to: the module list and crate doc in crates/grain-serve/src/lib.rs (did beside graph, spaces beside story) and crates/grain-serve/src/index/mod.rs (spaces beside stories). Each resolution keeps both sides. No two of these add a schema migration. Nothing was built here; the four checks run on the runner.

Shortcomings

Left out, to land on their own after they're reworked:

  • gaps/web: it adds GRAIN_WEB as an environment variable, where infra/flags makes every setting a flag. It needs --web on top of flags.
  • infra/ci-gates: its harness.yml conflicts with spaces/core's.

Review

Only the two conflict resolutions are new. Start at the merge commits that touch lib.rs and index/mod.rs.

🤖 Generated with Claude Code

chadtmiller.com added 22 commits
Approved

This batches seven already-reviewed pulls into feature/rust. I checked the two conflict resolutions the description names, and both are sound.

  • crates/grain-serve/src/lib.rs: did, graph, spaces and story are all declared as modules. The crate doc mentions each of them, and the did and spaces entries are present.
  • crates/grain-serve/src/index/mod.rs: both spaces and stories are declared.

I did not read the full ~5,000-line diff. It is the union of the seven pulls, which were reviewed separately.

All four checks (check, harness, rust, test) were still queued when I looked. Nothing has run against the combined tree, and this is the only verification the batch is meant to get. Don't merge until they pass.

Merged as fc5f686
Part of a stack of 2
  1. Seven reviewed pulls land on feature/rust together, checked once Landed as fc5f686
  2. main