inward_edges runs the InwardDependency cop through Detector::CopSites #1229
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#1229
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
Step 2 of Phase 1 in docs/crc/os-sdlc/detector-plan.md converts the inward-edge detector. Today collaborator_pass/inward_edges.rb re-implements the layer rule that the InwardDependency cop already holds. Two copies of one rule can drift. crc/inward_delta parses the cop message text to get its data.
Reproduce
n/a: design ticket
Approach
collaborator_pass/inward_edges.rbruns theInwardDependencycop throughDetector::CopSites. The cop recordsouter,inner, andconstantas keys on its finding.crc/inward_deltareads the runner output and stops parsing the cop message. TheSignaloutput does not change. Plan step 2 says to pilot this conversion first.Required work:
inward_edges.rbwith a runner call — check: presentCopSitesinplugins/os-sdlc/lib/os_sdlc/collaborator_pass/inward_edges.rbouter,inner, andconstantas keys on the cop finding.crc/inward_deltafrom message parsing to the runner.Acceptance criteria
inward_edgesruns, then it returns the sameSignalrows as before.InwardDependencyfinding, when the runner returns it, thenouter,inner, andconstantare keys on the finding.crc/inward_delta, when it runs, then it reads the runner and does not parse the cop message.Origin
VERDICT: CREATE
Blocked by #1228
Resolution
Done: InwardDependency records constant, outer, inner through report; CollaboratorPass::InwardEdges runs the cop through Detector::CopSites and builds the same 50 Signal rows from finding.facts; no message parsing. The crc-inward-delta switch is held as ruling R1 in docs/crc/os-sdlc/collaborator-rulings.tsv (default: message parsing stays until Phase 3 bin/detector).
Evidence: fast-batch-7 merged to main
ae057ddd: commitsf8cb385dcd17e9bb; memo docs/crc/os-sdlc/fast-batch-7/finding-b-inward-edges-runs-cop.md; Signal rows byte-identicalFollow-ups: R1 crc-inward-delta structured input, ruled in detector-plan.md Phase 3 (ruling row written, no new ticket until Jared rules); R2 InwardDependency fires at inward_edges.rb:8 and effect_sites.rb:8 because a detector names a cop constant, held for the detector-layer ADR