Skip to content

fix(storage): guard empty-project compaction, archive CAS, recency ordering - #45

Merged
Patel230 merged 2 commits into
mainfrom
feat/compact-and-archive-safety
Aug 12, 2026
Merged

fix(storage): guard empty-project compaction, archive CAS, recency ordering#45
Patel230 merged 2 commits into
mainfrom
feat/compact-and-archive-safety

Conversation

@Patel230

Copy link
Copy Markdown
Contributor

Remediation of 8 yaad findings:

  • Compact/NeedsCompaction refuse an empty project; MCP handler validates up-front (previously compacted across ALL projects)
  • summary nodes carry CreatedAt/UpdatedAt; archived (confidence<=0) nodes skipped; per-group mutation wrapped in a single transaction
  • ListNodes orders by updated_at DESC, rowid DESC for deterministic pagination and genuine recency-based reconciliation
  • Storage.ArchiveNode CAS (confidence>0) backs engine.Forget without clobbering concurrent content updates
  • ctx cancellation checks; rune-based size estimate in compact
  • bump golang.org/x/net to v0.57.0 (govulncheck clean)
  • 3 regression test files added

Verified: GOWORK=off go build/vet/test ./... green (33 packages).

…dering

- Compact/NeedsCompaction refuse an empty project; MCP handler validates
  up-front (compaction previously ran across ALL projects)
- summary nodes carry CreatedAt/UpdatedAt; archived (confidence<=0) nodes
  never re-compacted; per-group mutation wrapped in one transaction
- ListNodes orders by updated_at DESC for deterministic pagination
- Storage.ArchiveNode CAS (confidence>0) backs engine.Forget without
  clobbering concurrent content updates
- ctx cancellation checks + rune-based size estimate in compact
- bump x/net to v0.57.0 (govulncheck clean); regression tests
@Patel230
Patel230 merged commit 884c6c8 into main Aug 12, 2026
12 checks passed
@Patel230
Patel230 deleted the feat/compact-and-archive-safety branch August 12, 2026 04:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant