Skip to content

fix(query): reject invalid day windows and result limits - #8

Merged
freanocank merged 1 commit into
freanocank:mainfrom
Lee-Juntong:fix/query-window-validation
Oct 13, 2026
Merged

freanocank merged 1 commit into
freanocank:mainfrom
Lee-Juntong:fix/query-window-validation

Conversation

@Lee-Juntong

Copy link
Copy Markdown
Contributor

A negative result limit reaches SQLite as LIMIT -1, which removes the limit; other invalid limits and day windows produce inconsistent query behavior.

Validate windows before database discovery in read, search, recent, system-events, summary and stats. Require positive integer days and integer result limits from 1 to 2000; reject booleans and non-integers with a clear ValueError.

Validation: 54 invalid-input cases verify rejection before any database access, plus three valid limit boundaries. Invalid-input regressions fail on main and the updated suite passes. This changes only window validation.

Local validation uses Windows/Python 3.12 and synthetic fixtures. The consistency-checker file and two fingerprint-dependent existing tests were excluded by the local execution policy; no account databases, chat contents or keys are included.

Local branch suite: 138 passed, two tests deselected, consistency-checker file excluded.

@freanocank
freanocank merged commit 21eb055 into freanocank:main Oct 13, 2026
1 check passed
@freanocank

Copy link
Copy Markdown
Owner

Thanks for the fix and regression tests. Adopted through #15 with your original commits preserved. Invalid windows and limits are rejected before database discovery; valid boundaries pass.

The combined suite passes all four macOS/Windows × Python 3.10/3.13 CI jobs; Windows reports 209 passed, and macOS reports 208 passed with the Windows-only test skipped.

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.

2 participants