Skip to content

Hard-cut review profiles to the current engine contract - #251

Merged
forhappy merged 4 commits into
mainfrom
agent/fix-0-1-10-fingerprint-upgrade
Aug 14, 2026
Merged

Hard-cut review profiles to the current engine contract#251
forhappy merged 4 commits into
mainfrom
agent/fix-0-1-10-fingerprint-upgrade

Conversation

@forhappy

@forhappy forhappy commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

What changed

  • remove all Compass release-number parsing, ordering, floors, and allowlists from review/history profile reconstruction
  • treat persisted compass_version as provenance only, then replace all engine-owned fields with the running engine contract
  • validate the complete reconstructed user-option shape and hard-fail unsupported fields or malformed values
  • reconcile comparisons when one, both-different, or both-matching preferred realizations use noncurrent engine identities
  • require exact requested profiles only for review reconciliation and explicit history builds; query and export continue reading the selected immutable historical realization
  • preserve explicitly requested fingerprints as exact immutable selections

Root cause

Review used Compass release numbers as a proxy for profile compatibility. It also bypassed current-engine reconstruction when both revisions already had preferred realizations, especially when their profiles matched. A globally applied preferred-profile check then risked making read-only historical query and export rebuild selected history under mutable repository configuration.

Contract policy

Normal review does not parse, order, or allowlist a persisted Compass release string. It reconstructs the profile under the current engine and validates the actual supported option contract. If that profile shape changes in the future, Compass should hard-cut to the new contract and reject unsupported shapes rather than add release-specific migrations.

Compass version remains in the extraction fingerprint as engine provenance. Exact fingerprint comparisons and queued materialization profiles retain strict identity checks; these are integrity checks, not release compatibility policy. Binary self-update semver selection is unrelated and remains intact.

User impact

Compass review rebuilds a current comparable pair whenever persisted user options remain supported and identical, regardless of the persisted engine-version text. Historical realizations remain immutable and queryable. Different user options or unsupported shapes fail explicitly.

Verification

  • cargo fmt --all -- --check
  • cargo clippy -p compass-cli --all-targets --all-features --locked -- -D warnings
  • cargo test -p compass-cli --test review_cli --locked (7 passed)
  • cargo test -p compass-cli --test history_cli --locked (24 passed)
  • unit regressions cover non-semver, numerically future-looking, and current engine identities plus unsupported shape rejection
  • cargo test -p compass-cli --test compass_product --locked (8 passed)
  • sh scripts/check_product_boundary.sh
  • cargo clippy --workspace --lib --bins --locked -- -D warnings
  • cargo test --workspace --lib --bins --locked

@forhappy forhappy changed the title Fix legacy review fingerprint upgrades Hard-cut review profiles to the current engine contract Aug 14, 2026
@forhappy
forhappy marked this pull request as ready for review August 14, 2026 23:49
@forhappy
forhappy merged commit 6010721 into main Aug 14, 2026
14 checks passed
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