Skip to content

test: stabilize release validation on develop - #1802

Merged
igorls merged 1 commit into
developfrom
codex/develop-341-ci-polish
Jun 14, 2026
Merged

test: stabilize release validation on develop#1802
igorls merged 1 commit into
developfrom
codex/develop-341-ci-polish

Conversation

@igorls

@igorls igorls commented Jun 14, 2026

Copy link
Copy Markdown
Member

Summary

This is a small release-polish PR for the current develop head while preparing v3.4.1.

It addresses two test-harness issues found during local release validation:

  • strengthens test_closet_preview_exposed_when_boosted so the expected closet_preview assertion is tied to an actual closet-boosted result instead of a borderline fixture that failed on Windows
  • skips fabricated FTS5 shadow-table corruption tests on SQLite builds that reject direct writes to FTS5 shadow tables, instead of failing before the corruption scenario can be created

Why

The latest develop push at 422edc2 is red only on Windows in tests/test_hybrid_search.py::TestClosetMetadata::test_closet_preview_exposed_when_boosted. Linux 3.9/3.11/3.13, macOS, and lint passed. The strengthened fixture keeps the intended coverage but removes the Windows-specific ranking ambiguity.

The FTS5 change came from local Python 3.9/macOS validation, where the SQLite build reports table embedding_fulltext_search_data may not be modified. That is a test fabrication limitation, not a product-path failure.

Verification

Run from a clean worktree based on origin/develop (422edc2):

uv run --python 3.13 pytest tests/test_hybrid_search.py tests/test_miner_fts5_validation.py -q
# 22 passed

.venv/bin/ruff check .
.venv/bin/ruff format --check .
git diff --check
# passed

.venv/bin/python -m pytest tests/ -v --ignore=tests/benchmarks --cov=mempalace --cov-report=term-missing --cov-fail-under=80 --durations=10
# 2843 passed, 5 skipped, coverage 82.76%

Also previously verified the FTS5 portability path under a separate pip-installed Python 3.9 environment: targeted suite passed with the unsupported direct-shadow-write cases skipped.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the test suite. In tests/test_hybrid_search.py, the test test_closet_preview_exposed_when_boosted is updated with more specific topics, a revised search query, and additional assertions for matched_via and closet_boost. In tests/test_miner_fts5_validation.py, a try-except block is added to catch sqlite3.OperationalError when attempting to write to the FTS5 shadow table, skipping the test if the SQLite build restricts direct modifications. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@igorls
igorls marked this pull request as ready for review June 14, 2026 15:39
@igorls
igorls requested a review from milla-jovovich as a code owner June 14, 2026 15:39
Copilot AI review requested due to automatic review settings June 14, 2026 15:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR stabilizes release-validation tests on develop by making two test-harness adjustments for cross-platform SQLite/Windows behavior while keeping the intended coverage for hybrid search and FTS5 corruption validation.

Changes:

  • Strengthen test_closet_preview_exposed_when_boosted to assert closet_preview only when the top hit is verifiably closet-boosted (matched_via == "drawer+closet" and closet_boost > 0).
  • Skip the fabricated FTS5 shadow-table corruption path when the local SQLite build rejects direct writes to FTS5 shadow tables (instead of failing before corruption can be created).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
tests/test_miner_fts5_validation.py Adds a portability skip for SQLite builds that prohibit direct writes to FTS5 shadow tables during corruption fabrication.
tests/test_hybrid_search.py Makes the closet-preview assertion depend on an actually closet-boosted top result to avoid Windows ranking ambiguity.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

(garbage, target[0]),
)
except sqlite3.OperationalError as exc:
if "may not be modified" in str(exc):
@igorls
igorls merged commit 8e53959 into develop Jun 14, 2026
9 checks passed
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