Skip to content

fix(analyzer): stabilize TM1 window identity - #578

Draft
chrisknvidia wants to merge 16 commits into
NVIDIA:mainfrom
chrisknvidia:fix/christopherk/tm1-window-identity
Draft

chrisknvidia wants to merge 16 commits into
NVIDIA:mainfrom
chrisknvidia:fix/christopherk/tm1-window-identity

Conversation

@chrisknvidia

Copy link
Copy Markdown
Contributor

Summary

  • reconcile lexical and AST-owned TM1 findings across bounded and cross-window views
  • derive stable fingerprints from the full normalized call while keeping public evidence bounded
  • retain the true source-order prefix under output caps across ordinary, direct, bound, normalized, and reconstructed findings
  • preserve restored source coordinates and remove private reconciliation evidence from reports

Review context

This is the focused TM1 window/identity follow-up split from #497. It is intentionally separate from the shell-truthiness core and recursive reporting changes.

Stacked dependencies: #576 and #577. Until those land and this branch is rebased, GitHub's combined diff also contains their foundation commits. The A2-only review range is:

git diff f2ae98f86b337ca7da07a653db8b6ce37795a8de..d856d88c289c5ef3389060ef69651c9981aae38f

That delta is 5 files (+3,264/-192). This PR remains draft until the dependencies land, the branch is rebased onto current main, and a current-head human review is complete.

Validation

  • exact regression-first coverage for cap-stable identity, mixed direct/bound collisions, cross-line lexical identity, cross-window reconstruction, and source-order retention
  • affected matrix: 394 passed
  • independent edge matrix: 124 passed across eight producer/duplicate/cap combinations and four hash seeds
  • full configured suite: 5,622 passed, 14 skipped, 39 deselected, 4 expected xfails
  • Ruff, formatting, focused mypy, and diff checks passed
  • installed CLI JSON and Markdown scans passed for Python direct/bound, long lexical, and 256 KiB cross-window fixtures; JSON stdout parsed cleanly
  • forced low-cap installed-package harness retained the first source finding and reported partial/output_limit
  • public evidence remained bounded and private reconciliation keys did not leak

No live LLM/provider integration was run; this change is confined to the static analyzer path.

Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>
Signed-off-by: Christopher Kevin <christopherk@nvidia.com>

@rng1995 rng1995 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed exact draft head d856d88c289c5ef3389060ef69651c9981aae38f. I found no additional blocker in the focused TM1 identity range (f2ae98f..d856d88): 220 focused tests and 392 current-main merged-tree regressions pass, and lint/format/diff checks are clean.

I am requesting changes because the current combined tree still contains both confirmed dependency blockers from #576 and #577. On this exact head, a three-row ledger cap drops the second distinct fatal fact, and shell=enabled still evades TM1 when a later argument expression is effectful. The PR is also still draft and its own review contract requires #576/#577 to land, a rebase onto current main, fresh CI, and current-head review.

Please propagate the dependency fixes and rebase. If the focused range remains semantically unchanged and CI stays green, I found it otherwise suitable for approval.

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.

2 participants