pointbreak 0.5.0

Durable terminal code review for changes humans and coding agents collaborate on together
Documentation
# Benchmarking the durable store

The `store_backend` benchmark (`cargo bench --features bench`) measures the three metrics a future
log-structured backend would be compared against for the file backend: whole-log read latency
(`list_events`), single-append latency, and on-disk amplification. The synthetic groups
(100 / 1k / 10k events) are generated in-process and need nothing external — anyone can run them, and
they carry the portable baseline.

## Real-world read-all sample: `SHORE_BENCH_FIXTURE`

The `read_all/fixture` group runs only when `SHORE_BENCH_FIXTURE` points at a **store directory** — the
directory that contains `events/`. For a captured repo that is the shared common-dir store at
`<repo>/.git/shore`. When the variable is unset, or the store does not read back, the group is **skipped,
not failed**, so the harness has no baked-in paths.

The API-level benches (`revision_overviews`, `freshness`) instead want a repo root: set
`SHORE_BENCH_REPO=<repo>`, or let it be derived from a `<repo>/.git/shore` value of `SHORE_BENCH_FIXTURE`.

## Schema currency matters

The fixture store must be authored by the **current** Pointbreak schema. A store from a retired schema
(for example the legacy `writer.role` envelope, pre-0076/0079) hard-errors under the strict
`list_events`, so the real-world group silently skips — which is exactly why a rotted fixture is easy to
miss.

Two things guard against that:

- A schema-currency guard test (`bench_support`  `a_current_schema_store_reads_back_through_the_harness`) authors a store with the current code and
  asserts it reads back through the harness. If a schema break ever regresses this, that test fails
  loudly in CI rather than the benchmark quietly skipping.
- The fixture is **regenerated**, not committed as a binary blob, so it can't drift out of schema.

## Getting a current-schema fixture

Generate one on demand with `build_bench_fixture.sh` in the `shoreline-fixtures` collection, then point
the benchmark at the store directory it prints:

```sh
SHORE=/path/to/shore ./build_bench_fixture.sh
export SHORE_BENCH_FIXTURE=<printed store dir>   # e.g. <repo>/.git/shore
cargo bench --features bench
```

Re-run the generator after any store-schema break to keep the fixture current.

> A future alternate backend must be measured on the **same** filesystem as the file backend — disk
> amplification is filesystem-specific (~8× on APFS for sub-block event files). See
> [ADR-0020]./adr/adr-0020-durable-storage-backend-seam.md.