Harden versioned semantic history diffs#32
Merged
Conversation
forhappy
marked this pull request as ready for review
July 25, 2026 05:06
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.
What changed
--limitbehavior, genuinely exhaustive--all, visible truncation counts, and prominent public-surface additionsWhy
The previous history diff could panic or abort in reverse comparisons, emit non-deterministic realization IDs, silently truncate renderer output, overclaim test gaps and public APIs, and describe exception expressions such as
result.erroras if they were exception types. Reciprocal edges could also create invalid non-multigraph artifacts.User impact
compass diff OLD NEWnow leads with likely breaks, public API changes, behavior, affected consumers, and mapping completeness. Routine symbol/test/internal dependency churn stays collapsed unless--allis requested, while JSON and--allremain exhaustive.History persistence has no backward-compatibility path in this early phase. Anything other than the current v1 contract fails closed; users archive or remove the repository's Compass history directory and rebuild fresh v1 realizations.
Validation
GRAPHIFY_REPO_ROOT=/Users/haipingfu/graphify CARGO_TARGET_DIR=/Volumes/Workspace/codex-compass-semantic-target cargo test --workspace --quiet--all-targets --no-deps -- -D warningsgraphify update .90571539fa29..71f9cc9dc693: 333 findings in both directions; forward reports 1 public addition, 7 behavior changes, 0 likely breaks; reverse completes with explicit depth-limit notes--allemitted all 333 findings with no truncation marker;--limit 5reported the 11 omitted section findings4dd10563637031ac43f24390f14b2293109a0d47976e7c9937f68a499273e95dnetworkx-node-link/v1, Program IR 1, merger 1, analysis schema/analyzer 1, semantic report/1, andsd1-...findingscompatible:falseand exit code 1Workspace-wide strict clippy is currently blocked by two pre-existing
too_many_argumentslints incompass-output; all affected crates pass with only those two known lints allowed.