Skip to content

fix(verify): distinguish appended exchanges from archive refreshes - #177

Open
HengYangDS wants to merge 4 commits into
obra:mainfrom
HengYangDS:fix/verifier-high-water-classification
Open

HengYangDS wants to merge 4 commits into
obra:mainfrom
HengYangDS:fix/verifier-high-water-classification

Conversation

@HengYangDS

@HengYangDS HengYangDS commented Sep 26, 2026 •

Copy link
Copy Markdown

Verification mistakes an archive's timestamp refresh for new content, while missing summaries can obscure unindexed archives. That can send users into a broad repair which regenerates embeddings or summaries unnecessarily.

This compares parsed exchange bounds with the stored high-water mark and reports appended content, unindexed archives, missing summaries and timestamp-only refreshes separately. It inspects an existing index read-only, avoids creating an absent database, and exits 2 when a lock prevents verification. Repair candidates are deduplicated; valid external-source rows are preserved. archiveRefreshes is diagnostic and does not select repair.

Integration

This PR owns verifier classification and repair selection. #176 owns append indexing; #193 owns rewrite/truncation reconciliation. #180 adds record-screening outcomes, which must extend this verifier rather than replace its classifications. #109 owns summary coverage and retry policy. Historical backfill remains outside this change.

Validation

Head: ab29746447333ab3755a961713b75e454386556e; base: 7e06519357777badd7a115d2014a7ef845904310.

The October 11 macOS arm64 Node 24.19.0/npm 12.2.0 qualification passed build, original bundle syntax and 356 tests across 63 files, including packaged MCP tests. It reused #176's isolated dependency tree, a captured resolver lock and a prepared model cache. The earlier separate Node 22 installation retained cold-model hook failures; it is not evidence that cold loading fits those hooks.

Only nine focused files change. Verifier and index-CLI modules are outside the MCP input graph, so dist/mcp-server.js stays byte-identical to the base. Declared Vitest 3 advisories remain; tests used trusted isolated inputs without credentials or a test server.

Hosted execution, Windows, coverage, merge and installed-user acceptance remain pending. The existing approval request on #180 covers this PR.

@HengYangDS
HengYangDS marked this pull request as ready for review September 26, 2026 05:10
@HengYangDS

HengYangDS commented Oct 10, 2026 •

Copy link
Copy Markdown
Author

CI for this verifier classification fix still awaits approval. The request on #180 has the current head and run link. Local validation remains in this PR’s description; hosted execution and installed use are unverified.

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