Skip to content

feat: detect Cursor attachment losses across instruction changes - #81

Merged
LE0-Lin merged 3 commits into
mainfrom
feat/cursor-scope-impact
Nov 4, 2026
Merged

LE0-Lin merged 3 commits into
mainfrom
feat/cursor-scope-impact

Conversation

@LE0-Lin

@LE0-Lin LE0-Lin commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Changing only a Cursor rule's glob can stop a known instruction from attaching to a task even while both ordinary scans remain 100/100 and the existing score gate sees no new error.

Add scope compare BASE HEAD and Git-backed scope diff [BASE_REF], using the same declared target set on both sides. Capture each source once, then distinguish file lifecycle, lost trigger matches and aggregated exact-directive availability. Remaining multi-file triggers or another active copy retain availability; manual/model selection and potentially active opaque bodies remain unknown. Reports include original source/metadata lines, captured source hashes, tool identity and the resolved Git baseline commit.

Comparisons are advisory by default. Caller-owned --fail-on-lost-directives and --fail-on-unknown flags opt into separate review decisions; source/Git/encoding/identity failures return exit 2 without partial success JSON. Existing scan/diff scoring, score-policy JSON and Action defaults are unchanged. This is bounded attachment/exact-recognition analysis, not semantic equivalence, runtime enforcement or whole-repository context coverage.

Includes four runnable synthetic controls, installed acceptance through both aliases and the module entrypoint, a CI recipe pinned to the tested tool source, and synchronized English/Simplified/Traditional core docs. SOP/CV, published v0.24.0 artifacts, rolling Action refs and frozen evaluation data are unchanged.

Validation:

  • Windows full suite: 592 tests, 580 passed and 12 platform skips.
  • WSL Linux: all 20 new change-impact tests passed, including actual Git worktrees and cleanup after source failure.
  • Built wheel + sdist; wheel-only acceptance passed all 18 workflow checks, including comparison/Git behavior across three entrypoints.
  • Four actual CLI example decisions: narrow = review, remaining multi-file trigger = pass, renamed active source = pass, manual loading = unknown/review.
  • Existing demo remains F 56; repository self-scan remains A 100; staged whitespace check passed.
  • Maintained pinned-repository replay on a8244bd758b82dfc06d8f55a12543527ce5e477c: five scans and one expected typed source rejection, no acquisition errors, all maintained expectations matched. The report runtime fingerprint 4e63e4d2d451d3e24bf8a8b4454185b775e2589770ddfa39a947aa5d3e48069d matches this implementation; the subsequent change only refines the CI documentation.
  • Pinned tool commit dd208c9302737f6d61b4f327de87b197479f8d0d additionally installed via local Git transport. Its installed runtime fingerprint matches the tested wheel/current source; installed narrowing and rename controls returned 1 and 0 respectively.

These are project-authored development and compatibility checks, not independent accuracy or adoption evidence.

@LE0-Lin
LE0-Lin merged commit 1580df3 into main Nov 4, 2026
25 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