PrecedenceInEdge: entry role must not cover a class inside an entry script (false hit) #1512
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1512
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Sdlc/Structural/PrecedenceInEdgereports a false hit atplugins/os-context/audit/bin/extract:74. The lineinput["file_path"] || input["path"]is inToolCall, a pure value class inside an entry script. It translates one record's schema. It does not choose between two sources. The cop gives the entry role to the whole file, so the role reaches into the class.Reproduce
Approach
In an entry file, a site inside a
classormodulebody takes the role of that body: adapter when the body holds an effect call, otherwise no edge role. Only a site outside every class or module takes the entry role. Tighten by value; no exclude list.Required work:
EdgeScope— check: presentEdgeScopeinplugins/os-sdlc/lib/os_sdlc/cops/structural/edge_scope.rbAcceptance criteria
bin/tool) that defines a class with no effect call whose method returnsinput["file_path"] || input["path"], when the cop runs, then it reports no offense.File.readand returnsENV["X"]or else a file found withFile.exist?, when the cop runs, then it reports one offense.Owner sketch
Origin
VERDICT: CREATE — false hit from the lesson's escape path; part of #1509's zero-false-hit criterion, which the user asked to implement.
Work started on branch ticket-1509 (same worktree as #1509, which this false hit blocks) through /os-sdlc:implement.
Resolution
Done: EdgeScope gives the entry role only to code outside class and module bodies; a class inside an entry script takes its own role. Commit on branch ticket-1509 (implementation 218).
Evidence: Pipeline implementation 218 complete: 12 dispatches, suite gate pass, contract-auditor pass. Whole-tree rerun of Sdlc/Structural/PrecedenceInEdge over plugins/: plugins/os-context/audit/bin/extract:74 no longer reported; 10 hits, all previously classified TRUE.
Follow-ups: none
jared referenced this issue2026-11-02 22:45:22 +00:00