Skip to content

check drift healing updates anchor hashes but leaves stale line spans #286

Open

Description

@jxsl13

Observed

With Spectackle0.10.0, a pinned reindex followed by check healed the content hashes of four anchors but retained their old line ranges in .spectackle/anchors.tsv. An explicit rule op=edit with the unchanged applies IDs subsequently refreshed the ranges correctly.

Concrete examples in GoAI:

  • go:autograd_test.TestSigmoidFocalCoreExactCompositeVJPParity: old57-94, current70-110. Check reports hash 7b18e9f3 -> faa74e87 but retains57-94.
  • go:autograd_test.TestWKVOpMatchesHostWKV: old36-52, current37-70. Check reports 8d9aca7b -> ca857934 but retains36-52.

Reproduction/evidence

Source checkpoint: c3b4d1f1, with changed tests and pre-change policy anchors. Run pinned Go1.27.1, spectackle reindex -root ., then spectackle call check '{"path":"autograd","budget":16000,"fix":false}'.

Captured check output shows four healed anchors at old ranges. Reindex had6715 typed call edges and zero skipped packages; this was not a syntactic-only fallback.

Calling rule with {"op":"edit","id":"ARM64-SIMD-FOCAL-COMPOSITE-001","applies":["go:autograd_test.TestSigmoidFocalCoreExactCompositeVJPParity"]} updates the range to70-110. Equivalent edits refresh WKV/guard anchors. Final anchor refresh preserves the resulting correct ranges.

Expected / impact

When healing an anchor to the current symbol content, refresh its path/span from the same current graph node, or document explicitly that these locations remain historical. Otherwise a current content hash is paired with stale navigation/review locations.

No Spectackle implementation cause has been established and no fix PR is proposed. Reported per the SDD workflow's tool-defect policy.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions