Skip to content

fix(graph-db): fingerprint drifting corruption verdicts - #4735

Closed
ScriptedAlchemy wants to merge 1 commit into
masterfrom
fix/issue-4571-drifting-corruption-fingerprints
Closed

ScriptedAlchemy wants to merge 1 commit into
masterfrom
fix/issue-4571-drifting-corruption-fingerprints

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Root cause

Refs #4571. The terminal drifting-fault event introduced by #4574 already names the store and prints both raw fault messages, but it does not carry stable fingerprints for the first and second verdicts. Operators comparing repeated corruption incidents must treat potentially lengthy raw messages as identifiers.

Focused change

  • Add first_fault_fingerprint and second_fault_fingerprint as SHA-256 digests to the existing ERROR-level store_corrupt_not_deterministic event, reusing the same SHA-256 authority as the deterministic-deletion event.
  • Preserve path, raw faults, operator remedy, typed Corrupt refusal and no-deletion behavior. No locks, recovery thresholds, store layout, permissions or admission controls change.
  • Extend the existing formatted tracing regression to require both digests as well as the raw faults, ERROR severity and untouched store.

Evidence and validation

Verified the published commit against current master: one changed file, 10 added lines, zero deletions. Reviewed the single event site and regression assertions. Rust compilation, rustfmt and the regression have not run locally because the available environment lacks the mandated Bazel/Rust toolchain; hosted CI must execute the owning Rust tests on this exact head. No runtime improvement is claimed.

Remaining scope

This completes only the event-fingerprint portion of #4571. Operator-visible retained corruption in Doctor/status is addressed by separate unmerged #4700 and needs its own CI and default-branch validation. Keep #4571 open.


Devin Review

@changeset-bot

changeset-bot Bot commented Nov 3, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 24da385

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@devin-ai-integration devin-ai-integration 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

@ScriptedAlchemy

Copy link
Copy Markdown
Owner Author

Consolidated into #4742 (integrate/open-pull-requests) at the captured head shown in its description, as requested. Continue review and further fixes on #4742. This closure does not assert CI readiness; the replacement remains draft. Source branch retained.

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