mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-26 18:11:24 +08:00
feat(layer4): line-range channel + trigger firing
- Line precision: parse git diff --unified=0 into per-file changed line ranges
(defaultWorkingSetFor), so two agents in the SAME file but DIFFERENT functions
no longer false-collide. Overlap channel now uses the overlap coefficient
(|A∩B|/min(|A|,|B|)) — high when one edit sits inside the other's region, low
for disjoint ranges; whole-file edit = 1. Docstring + design doc updated.
- Trigger firing: buildProximityTriggers() turns advisories into the concrete
messages — transmit-intent to both on a Traffic Advisory, steer-away to the
yielding agent + a hold notice on a Resolution Advisory. buildProximitySnapshot
now returns triggers; dispatchProximityTriggers(triggers, {sendMessage}) delivers
them through an injectable sink (the ECC messages table), best-effort.
- 12 new tests (line-range disjoint vs overlapping, parseDiffRanges, triggers,
dispatch). Full suite 2881/2881; lint green.
This commit is contained in:
@@ -44,11 +44,15 @@ with channel weights *ω_i ∈ [0,1]*. The reported **distance** is the dual
|
||||
For shared files *S = files(W_a) ∩ files(W_b)*:
|
||||
|
||||
```
|
||||
lineOverlap(f) = |R_f^a ∩ R_f^b| / |R_f^a ∪ R_f^b|
|
||||
r_overlap = max( Jaccard(files_a, files_b), max_{f∈S} lineOverlap(f) ) (3)
|
||||
lineOverlap(f) = |R_f^a ∩ R_f^b| / min(|R_f^a|, |R_f^b|) (overlap coefficient)
|
||||
r_overlap = max_{f∈S} w_f^a·w_f^b · lineOverlap(f) (3)
|
||||
```
|
||||
|
||||
Same file, overlapping lines ⇒ imminent collision (*r_overlap → 1*).
|
||||
The overlap coefficient (not Jaccard) is the right measure: it stays high when one
|
||||
agent's small edit sits inside the other's large region (Jaccard would dilute it by
|
||||
union size). A whole-file edit (no line info) ⇒ `lineOverlap = 1`. Same file,
|
||||
overlapping lines ⇒ imminent collision; same file, *disjoint* line ranges (different
|
||||
functions) ⇒ low `r_overlap`. Different files ⇒ no shared `f` ⇒ `r_overlap = 0`.
|
||||
|
||||
### Channel 2 — dependency coupling *r_dep*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user