Commit 05523f9
fix(ego-lint): make R-LIFE-25 bare connectSignal always FAIL regardless of disconnectSignal elsewhere (#91)
## Summary
- **Bare `connectSignal()` calls now always FAIL** — a global
`has_dbus_disconnect` flag was masking bare (un-stored) connects
whenever *any* `disconnectSignal()` existed elsewhere. Bare connects are
structurally un-cleanable (can't call `disconnectSignal(id)` without
storing `id`), so they should never be suppressed.
- **Stored connects without `disconnectSignal()` in the same file →
WARN** (per-file scoping replaces global flag)
- **`.disconnectSignal.bind()` recognized** as valid cleanup pattern
## Test plan
- [x] 615 test assertions pass (`bash tests/run-tests.sh`)
- [x] `dbus-signal-auto-cleanup@test` — exits 1 with FAIL (was exit 0
with PASS)
- [x] `dbus-signal-stored-no-disconnect@test` — exits 0 with WARN (new
fixture)
- [x] `dbus-signal-bind-cleanup@test` — exits 0, clean (new fixture)
- [ ] Field test: `bash scripts/field-test-runner.sh --no-fetch` —
media-controls shows FAIL for bare connects
Closes #90
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent 14d0ca3 commit 05523f9
File tree
9 files changed
+119
-27
lines changed- skills/ego-lint
- references
- scripts
- tests
- assertions
- fixtures
- dbus-signal-bind-cleanup@test
- dbus-signal-stored-no-disconnect@test
9 files changed
+119
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2074 | 2074 | | |
2075 | 2075 | | |
2076 | 2076 | | |
2077 | | - | |
| 2077 | + | |
2078 | 2078 | | |
2079 | | - | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
2080 | 2082 | | |
2081 | 2083 | | |
2082 | 2084 | | |
2083 | 2085 | | |
2084 | | - | |
| 2086 | + | |
2085 | 2087 | | |
2086 | 2088 | | |
2087 | 2089 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
1291 | 1291 | | |
1292 | 1292 | | |
1293 | 1293 | | |
1294 | | - | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
1295 | 1301 | | |
1296 | 1302 | | |
1297 | 1303 | | |
| |||
1303 | 1309 | | |
1304 | 1310 | | |
1305 | 1311 | | |
1306 | | - | |
| 1312 | + | |
1307 | 1313 | | |
1308 | 1314 | | |
1309 | 1315 | | |
1310 | 1316 | | |
1311 | 1317 | | |
1312 | | - | |
| 1318 | + | |
1313 | 1319 | | |
1314 | | - | |
1315 | | - | |
| 1320 | + | |
| 1321 | + | |
1316 | 1322 | | |
| 1323 | + | |
1317 | 1324 | | |
1318 | 1325 | | |
1319 | 1326 | | |
| |||
1322 | 1329 | | |
1323 | 1330 | | |
1324 | 1331 | | |
1325 | | - | |
| 1332 | + | |
| 1333 | + | |
| 1334 | + | |
| 1335 | + | |
| 1336 | + | |
1326 | 1337 | | |
| 1338 | + | |
1327 | 1339 | | |
1328 | 1340 | | |
1329 | | - | |
| 1341 | + | |
1330 | 1342 | | |
| 1343 | + | |
1331 | 1344 | | |
1332 | 1345 | | |
1333 | | - | |
| 1346 | + | |
1334 | 1347 | | |
1335 | | - | |
1336 | | - | |
1337 | | - | |
1338 | | - | |
| 1348 | + | |
1339 | 1349 | | |
1340 | 1350 | | |
1341 | 1351 | | |
1342 | 1352 | | |
1343 | 1353 | | |
1344 | | - | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
1345 | 1360 | | |
1346 | 1361 | | |
1347 | 1362 | | |
1348 | 1363 | | |
1349 | | - | |
1350 | | - | |
1351 | | - | |
1352 | | - | |
1353 | | - | |
1354 | | - | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
| 1371 | + | |
| 1372 | + | |
| 1373 | + | |
| 1374 | + | |
| 1375 | + | |
| 1376 | + | |
| 1377 | + | |
1355 | 1378 | | |
1356 | 1379 | | |
1357 | 1380 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
15 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
29 | 43 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 21 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
0 commit comments