This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The memory coverage lint writes .coverage_index.json by path (writeCoverageIndex over CoverageIndexPath) after openStore vetted the store, so a store directory swapped for a symlink between the open and the write lands the index outside the repository: the handle's containment covers its reads, not this write. It is not behind the store lock or validatedMemoryDir the way the page writer is, so the writer residual iss-2608291814572914 declares does not cover it. Fix: write the index through the store handle's os.Root (fsutil.WriteFileAtomicInRoot).

issueresolvedminoriss-2609252100150846

The memory coverage lint writes .coverage_index.json by path (writeCoverageIndex over CoverageIndexPath) after openStore vetted the store, so a store directory swapped for a symlink between the open and the write lands the index outside the repository: the handle's containment covers its reads, not this write. It is not behind the store lock or validatedMemoryDir the way the page writer is, so the writer residual iss-2608291814572914 declares does not cover it. Fix: write the index through the store handle's os.Root (fsutil.WriteFileAtomicInRoot).

Grounds

  • pursued: a store swapped for a symlink after openStore leaves the index write inside the vetted directory, pinned by TestCoverageLintWritesOnlyThroughTheStoreHandle; a coverage-index write by path reappearing, or the test passing with the write reverted, would show it wrong

Frontmatter

idiss-2609252100150846
typeissue
lifecycleresolved
severityminor

mentions2