Este ficheiro resume como trabalhar no repositório BulkSort de forma alinhada com o código e a documentação canónica.
docs/architecture.md— comportamento e estrutura as-is; em caso de conflito complan-desenvolvimento-unificado.mdou outro texto auxiliar, prevalecearchitecture.md+ ADRs.docs/adr/— decisões estáveis (híbrido disco/Blob, diff local-first,IBlobContainer, semântica de linha).
dotnet build BulkSort.sln
dotnet test BulkSort.sln- Núcleo (
BulkSortPipeline): sem referências aAzure.Storage.Blobs; I/O remoto só viaIBlobContainer. - Azure: implementações e extensões DI em
BulkSortPipeline.Azure. - Comentários XML e identificadores em inglês, alinhados ao código existente.
- Hot path de ordenação/merge: evitar alocações desnecessárias (
Span,ArrayPool, comparer em bytes).
- Mudança de semântica de linha, comparer, dedupe ou defaults de
ExternalSortOptions→ atualizardocs/architecture.mde, se for decisão de desenho, novo ou alterado ADR. - Novo backend de armazenamento → ADR ou secção em arquitetura + implementação de
IBlobContainer.
- Não introduzir segredos em
appsettings.jsoncommitado; usar User Secrets ou env vars. BulkSortHost:OperationdefineSortvsDiff; secçãoExternalSortajusta chunk, fan-in e diretório de merge local.
- Acoplar o núcleo ao SDK Azure.
- Documentar como “implementado” algo que o código ainda não faz (validar sempre contra
docs/architecture.mde testes).