Repository navigation
feat: detect Cursor attachment losses across instruction changes - #81
Merged
Merged
Conversation
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.
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 HEADand Git-backedscope 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-directivesand--fail-on-unknownflags 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:
a8244bd758b82dfc06d8f55a12543527ce5e477c: five scans and one expected typed source rejection, no acquisition errors, all maintained expectations matched. The report runtime fingerprint4e63e4d2d451d3e24bf8a8b4454185b775e2589770ddfa39a947aa5d3e48069dmatches this implementation; the subsequent change only refines the CI documentation.dd208c9302737f6d61b4f327de87b197479f8d0dadditionally 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.