Repository navigation
v0.2.0: bound search queries, record the embedding window, refresh unchanged stats, lock the inbox - #9
Merged
Conversation
…changed stats, lock the inbox Findings from a Codex security and correctness review of main @799d5cf. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…build noted in the README - indexer.py: wrap the models import (ruff I001). A model or revision change is reported before a window change, so a user who changed both is told about the model. The window refusal names the recorded and the configured value, in `puremind index` and in `puremind_search`. - README and the config.toml template: changing `embed_max_seq` takes `puremind index --rebuild`, and a running `puremind serve` must be restarted. `puremind_search` takes at most 4,096 characters. - tests: `min()` instead of `sorted()[0]` (ruff FURB192); a model and window changed together report the model; the window label. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
puretensor
force-pushed
the
fix/codex-audit-2026-10-25
branch
from
October 26, 2026 13:31
ba569e9 to
72d2fa6
Compare
Owner
Author
|
Verdict: fixed, then merged (merge commit, as with #7 and #8). Examined: the four changes (query bound, recorded embedding window, stat refresh for unchanged notes, inbox lock) against main at 799d5cf, with three independent reviews (correctness, safety, integration) re-checked here. 0.2.0 is still unreleased (latest tag v0.1.5, CHANGELOG says "unreleased"), so the version stays 0.2.0. Fixed in 72d2fa6:
Noted, not changed (design or perf follow-ups, not correctness bugs):
Tests:
#10 is stacked on this branch. Before it can merge, its own commit has to be rebased onto main and the PR retargeted to main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes from a Codex security and correctness review of main @799d5cf, each re-checked. CHANGELOG updated under 0.2.0 (unreleased).
puremind_searchrefuses queries over 4,096 characters, in both the MCP schema (max_length) and the handler, instead of tokenizing and echoing them back.embed_max_seq). Changing it is refused like a model change untilpuremind index --rebuild, both in the indexer and at search time. An index that never recorded it adopts the current window without a forced rebuild, following the existingembedder_revisionprecedent, so upgrading doesn't cost every user a full re-embed.puremind_recentorders it correctly. It writes only when the stat actually changed, so large vaults don't pay a write per note per pass.puremind_proposeholds an fcntl lock across the dedupe, the cap check and the create, so concurrent agents can't exceed 100 proposals or store duplicates.Tests: full suite, 691 passed, 18 skipped (fresh venv on Linux; macOS not exercised).
Not in this PR, needs the maintainer: the Homebrew formula pins v0.1.5, which predates the 0.1.6 symlink fix (1a571e9). CHANGELOG lists 0.1.6 as released on 2026-10-22, but there is no v0.1.6 tag or GitHub release, so Homebrew installs still ship the traversal bug. Tag and release, then bump the formula
url/sha256.🤖 Generated with Claude Code