# Changelog

## Score

- CAI 73 → 78 (+5.3)
- Rubric changed (rubric-2026.09.9 → rubric-2026.09.17) — scores are not directly comparable.

## Lenses

- Code Health 83 → 84 (+0.7)
- Architecture 99 → 96 (-3.7)
- Maturity 82 → 82 (-0.1)
- Readiness 79 → 84 (+5.5)
- Security 61 → 70 (+9.1)
- Domain Modelling 100 → 100 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
- Performance 100 (new)

## Resolved (161)

- Boundary-crossing change coupling: realize.rs ↔ helpers.rs (lore-revision/src/fs/realize.rs)
- Change coupling: realize.rs ↔ status.rs (lore-revision/src/fs/realize.rs)
- Change coupling: reset.rs ↔ stage.rs (lore-revision/src/file/reset.rs)
- Change coupling: unstage.rs ↔ stage.rs (lore-revision/src/file/unstage.rs)
- Change-coupling hub: os.rs → realize.rs, status.rs, stage.rs (lore-revision/src/fs/os.rs)
- ClassTooLong: StreamHandler (lore-server/src/quic/stream_handler.rs)
- CompositeStore::get_metadata (cognitive 25) (lore-revision/src/store/composite.rs)
- Documentation: no architecture or design documentation (docs/README.md)
- Documentation: no installation or build instructions (README.md)
- Duplicated block (10 lines × 2) (lore-revision/src/file/dirty.rs)
- Duplicated block (10 lines × 2) (lore-revision/src/state.rs)
- Duplicated block (10 lines × 3) (lore-client/src/cli/commands/branch.rs)
- Duplicated block (10 lines × 4) (lore/src/storage/put.rs)
- Duplicated block (10–11 lines × 2) (lore-revision/src/stage.rs)
- Duplicated block (10–11 lines × 2) (lore-server/src/grpc/handlers/branch_query.rs)
- Duplicated block (11 lines × 2) (lore-storage/src/write.rs)
- Duplicated block (11 lines × 2) (lore/src/storage/mutable_compare_and_swap.rs)
- Duplicated block (11–12 lines × 2) (lore-base/src/allocator/growvec.rs)
- Duplicated block (11–14 lines × 2) (lore-revision/src/commit.rs)
- Duplicated block (11–15 lines × 2) (lore-revision/src/state.rs)
- …and 141 more

## New (181)

- Change coupling: interface.rs ↔ command.rs (lore/src/interface.rs)
- Change coupling: mod.rs ↔ realize.rs (lore-revision/src/fs/os/mod.rs)
- Change coupling: mod.rs ↔ stage.rs (lore-revision/src/fs/os/mod.rs)
- CompositeStore::get_metadata_from_remotes (cognitive 23) (lore-revision/src/store/composite.rs)
- Connect::handle_auth (cognitive 18) (lore-server/src/protocol/storage/connect.rs)
- Duplicated block (10 lines × 2) (lore-revision/src/file/dirty.rs)
- Duplicated block (10 lines × 29) (lore-client/src/cli/commands/branch.rs)
- Duplicated block (10 lines × 3) (lore-client/src/cli/commands/file.rs)
- Duplicated block (10 lines × 5) (lore/src/branch.rs)
- Duplicated block (11 lines × 2) (lore/src/storage/mutable_compare_and_swap.rs)
- Duplicated block (11 lines × 2) (lore/src/storage/put_file.rs)
- Duplicated block (11–12 lines × 4) (lore-client/src/cli/commands/branch.rs)
- Duplicated block (12 lines × 2) (lore-revision/src/file/dirty.rs)
- Duplicated block (12–13 lines × 2) (lore-revision/src/stage.rs)
- Duplicated block (13 lines × 2) (lore-client/src/cli/commands/repository.rs)
- Duplicated block (13 lines × 2) (lore-storage/src/fragment_engine.rs)
- Duplicated block (13–14 lines × 2) (lore-base/src/allocator/growvec.rs)
- Duplicated block (13–14 lines × 3) (lore-client/src/cli/commands/branch.rs)
- Duplicated block (14 lines × 2) (lore-client/src/cli/commands/repository.rs)
- Duplicated block (14 lines × 2) (lore-client/src/cli/commands/revision.rs)
- …and 161 more

## Changes since last survey

- 135 commits — 128 feature/other, 7 fixes

## By area

- lore-revision/src — 55 commits
- lore-server/src — 17 commits
- docs/release-notes.md — 10 commits
- lore/src — 9 commits
- scripts/test — 8 commits
- (root) — 6 commits
- lore-storage/src — 5 commits
- lore-client/src — 3 commits
- docs/developing — 2 commits
- lore-base/src — 2 commits
- lore-integration-tests/compose.yaml — 2 commits
- lore-revision/tests — 2 commits
- lore-transport/src — 2 commits
- (repo) — 1 commit
- .cargo/config.toml — 1 commit
- contrib/helm — 1 commit
- docs/how-to — 1 commit
- docs/reference — 1 commit
- docs/tutorials — 1 commit
- lore-aws/src — 1 commit

## Notable commits

- fix: Fix SWFS clones for files in directories, as well as file info
- fix: Fix an empty LoreArray leaking its allocation
- fix: Fix auth-endpoint test setup for strict [server.auth] validation
- fix: lore-base: Fix the undefined behaviour in GrowVec that Miri reports
- fix: lore-revision: Fix test covering a listed name that is not text without a filesystem that holds one
- fix: lore-server: Fix QUIC connection statistics being overwritten by the last connection sampled
- fix: lore-server: Fix the running-task counter drifting when a task ends outside its spawn context
- change: Add engineering principles and refresh the code standards
- change: Add reproduction test for reset --purge on a nested repository
- change: Answer NULL for every empty LoreString, and read a NULL pointer as empty
- change: Attempt at boxing all of lore-revision's public interface futures
- change: Build: Add Linux lib name, matching macOS.
- change: Carry the failing error's own detail on the storage per-item events
- change: Changes to how the service is handled
- change: Fix formatting in release notes after previous change broke it.
- change: Make load_blocking part of the SavableConfig trait
- change: Prep for portable arm builds
- change: SWFS clone
- change: Take a node slot before the block it came from is published
- change: The `file reset --last-merged` command takes an optional `--mine` or `--theirs`
- …and 115 more
