Skip to content

fix: bound indexed full-history reads - #25

Merged
tom-sapletta-com merged 1 commit into
mainfrom
fix/serialized-sqlite-index
Aug 5, 2026
Merged

fix: bound indexed full-history reads#25
tom-sapletta-com merged 1 commit into
mainfrom
fix/serialized-sqlite-index

Conversation

@tom-sapletta-com

Copy link
Copy Markdown
Contributor

Summary

  • serialize stale SQLite index rebuilds with a cross-process lock and recheck freshness after acquisition
  • serve full ticket JSON directly from indexed canonical payloads without building the historical Pydantic model cache
  • serve operational projections from indexed payloads and retain ordering, filters, pagination and counts

Production finding

After PR #24 deployment, hr-control full-history reads raced on a stale index: Planfile reached 3.1 GiB RSS / 88% CPU and logged SQLite database is locked / locking protocol.

Validation

  • pytest -q: 370 passed, 6 skipped
  • focused index/API/PLOG suite: 59 passed
  • Ruff changed modules and git diff --check: pass
  • production-data copy: 3,587 tickets / 78.3 MB JSON rendered in 0.74 s, 214 MiB peak RSS, no _ticket_model_cache
  • todo2code focused extraction: z-ai/glm-5.2 via OpenRouter/CoreWeave, no degradation, 0 blocking diagnostics (whole-repo trend remains noisy/non-gating)

Planfile ticket: PLF-3776

@tom-sapletta-com
tom-sapletta-com merged commit 944c9be into mainAug 5, 2026
2 checks passed
@tom-sapletta-com
tom-sapletta-com deleted the fix/serialized-sqlite-index branch August 5, 2026 11:54
Sign up for freeto 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

@tom-sapletta-com