fix: harden actionable error-signature reads - #199
Merged
Conversation
47 tasks
This was referenced Aug 20, 2026
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.
Summary
Follow-up to the merged systematic audit in #196. The adversarial post-merge review found two remaining items, tracked as AUD-035 and AUD-036 in reopened master issue #194.
AUD-035 — remove dead returned materialization
SignatureRow.normalizer_versionfrom the returned DB row model.normalizer_versionload-bearing in primary-key predicates, joins, grouping, writes, and lookup arguments.#[allow(dead_code)]from the test-onlyCortexService::with_os_adapterconstructor, which has real test consumers.AUD-036 — keep the actionable list actually actionable
error_signaturesis durable across normalizer versions, but the public list/ack/unack API identifies a signature by hash only and mutations target the activeNORMALIZER_VERSION. Previously, a historical/non-current row could therefore appear inunaddressed_errorseven though the current API could not acknowledge it.read_unaddressed_pageand its recent-window aggregate to the active normalizer version.This branch is based on current main after #196 and Agent Observatory PR #195.
Verification on current head
8b4346a2cargo fmt --all+git diff --checkcargo nextest run unaddressed_errors error_signatures -j 1: 11/11 passedunaddressed_errors_hides_non_current_normalizer_versionspassescargo clippy --all-targets --all-features --locked -- -D warningsFinal exact-head verification is complete.
Fixes #194
Final exact-head evidence
852.613s; slow labels were passing load classifications only).cargo clippy --all-targets --all-features --locked -- -D warnings: passed.cargo test --doc: passed warning-free.cargo machete: no unused dependencies.cargo deny check: advisories/bans/licenses/sources all green.cargo audit --ignore RUSTSEC-2023-0071: no additional vulnerabilities.just check, module-size, whitespace and clean-tree checks: passed.