The fact sink was a second adapter over the same backend. INoteStore gains CreateAsync (DocumentExistsException on a taken path); the raw note's shape, slug and collision numbering live in DepositFactUseCase; GiteaRepository only moves text. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>