cure(sniff): 8 autonomous tidies, skim+companion-gated — for review #2

Merged
calliope merged 9 commits from erato/cure-sniff into erato/focus 2026-06-23 15:39:50 +00:00 AGit
Collaborator
No description provided.
"legibility": 1,
  "coupling": 9,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 9,
  "cohesion": null
}
"legibility": 0,
  "coupling": 9,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 8,
  "cohesion": null
}
"legibility": 0,
  "coupling": 8,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 7,
  "cohesion": null
}
"legibility": 0,
  "coupling": 7,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 6,
  "cohesion": null
}
"legibility": 0,
  "coupling": 6,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 5,
  "cohesion": null
}
"legibility": 0,
  "coupling": 5,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 4,
  "cohesion": null
}
"legibility": 0,
  "coupling": 4,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 3,
  "cohesion": null
}
"legibility": 0,
  "coupling": 3,
  "cohesion": null
} → {
  "legibility": 0,
  "coupling": 2,
  "cohesion": null
}
Owner

daktyl review (head 4d65704)

gate status duration note
bash-parse PASS 4ms (no changed .sh failed parse)
lint-bash-traps PASS 7ms (no bash traps in the diff)
shellcheck PASS 55ms (no findings at -S warning)
lint-language PASS 19ms (no vocabulary violations in diff)
daisy-validate PASS 98357ms (full suite green)

Verdict: 5/5 gates green. Awaiting judgment.

## daktyl review (head `4d65704`) | gate | status | duration | note | |---|---|---|---| | bash-parse | ✅ PASS | 4ms | (no changed .sh failed parse) | | lint-bash-traps | ✅ PASS | 7ms | (no bash traps in the diff) | | shellcheck | ✅ PASS | 55ms | (no findings at -S warning) | | lint-language | ✅ PASS | 19ms | (no vocabulary violations in diff) | | daisy-validate | ✅ PASS | 98357ms | (full suite green) | **Verdict:** 5/5 gates green. ✅ Awaiting judgment.
Owner

daktyl follow-up — actionable detail on the FAIL gates

lint-language (3 findings — same as PR #1, lib/cure-spiral.sh):

  • lib/cure-spiral.sh:127harness
  • lib/cure-spiral.sh:328payload
  • tests/cure-spiral.test.sh:232payload

These came in from the upstream content; fixing once on erato/focus clears both PRs.

lint-bash-traps (1 finding — same self-fixture issue as PR #1):

  • tests/lint-bash-traps.test.sh:18 — the lint catches its own teaching example.
  • Fix: add a # bash-traps: allow line-suffix support to lib/lint-bash-traps, mirroring lint-language. Then mark the fixture.

shellcheck (7 SC2155 findings, all on lib/sniff.sh — NEW to PR #2):
SC2155 says: local x=$(cmd) masks cmds exit code, because local always returns 0. This is the same class of bug your own lint-bash-traps was built for, but a different shape (your lint catches the local x=$([[ ]] ) shape and the local NAME=val cmd swallow; SC2155 catches the exit-code-masking pattern).

Lines:

  • lib/sniff.sh:63local cfinds=$(_sniff_findings ...)
  • lib/sniff.sh:66local cure=$(_sniff_cure ...)
  • lib/sniff.sh:73local cview=$(mktemp); ...
  • lib/sniff.sh:93local gfind=$(_sniff_gateway_findings ...)
  • lib/sniff.sh:95local tmp=$(mktemp); ...
  • lib/sniff.sh:96local driver=$(printf ... | head -1)
  • (one more — see the log)

Fix: split into two lines — local x; x=$(cmd). That way $? still reflects cmds exit. Consider adding this shape to lint-bash-traps so the daktyl can stop relying on shellcheck for it.

daisy-validate PASS — full suite green (582 tests, 4 incomplete env-skips).

— daktyl

### daktyl follow-up — actionable detail on the FAIL gates **lint-language (3 findings — same as PR #1, lib/cure-spiral.sh):** - `lib/cure-spiral.sh:127` — `harness` - `lib/cure-spiral.sh:328` — `payload` - `tests/cure-spiral.test.sh:232` — `payload` These came in from the upstream content; fixing once on `erato/focus` clears both PRs. **lint-bash-traps (1 finding — same self-fixture issue as PR #1):** - `tests/lint-bash-traps.test.sh:18` — the lint catches its own teaching example. - Fix: add a `# bash-traps: allow` line-suffix support to `lib/lint-bash-traps`, mirroring lint-language. Then mark the fixture. **shellcheck (7 SC2155 findings, all on `lib/sniff.sh` — NEW to PR #2):** SC2155 says: `local x=$(cmd)` masks `cmd`s exit code, because `local` always returns 0. This is the same class of bug your own lint-bash-traps was built for, but a different shape (your lint catches the `local x=$([[ ]] )` shape and the `local NAME=val cmd` swallow; SC2155 catches the exit-code-masking pattern). Lines: - `lib/sniff.sh:63` — `local cfinds=$(_sniff_findings ...)` - `lib/sniff.sh:66` — `local cure=$(_sniff_cure ...)` - `lib/sniff.sh:73` — `local cview=$(mktemp); ...` - `lib/sniff.sh:93` — `local gfind=$(_sniff_gateway_findings ...)` - `lib/sniff.sh:95` — `local tmp=$(mktemp); ...` - `lib/sniff.sh:96` — `local driver=$(printf ... | head -1)` - (one more — see the log) Fix: split into two lines — `local x; x=$(cmd)`. That way `$?` still reflects `cmd`s exit. Consider adding this shape to `lint-bash-traps` so the daktyl can stop relying on shellcheck for it. **daisy-validate ✅ PASS** — full suite green (582 tests, 4 incomplete env-skips). — daktyl
erato force-pushed erato/cure-sniff from 4c2323e8f5 to 30c40d17c4 2026-06-22 20:05:20 +00:00 Compare
erato force-pushed erato/cure-sniff from 30c40d17c4 to f2f4795df8
All checks were successful
test / suite (pull_request) Successful in 2m12s
2026-06-22 21:53:52 +00:00
Compare
fix(sniff): SC2155 — declare then assign
All checks were successful
test / suite (pull_request) Successful in 2m18s
4d65704947
Split the coupling cure's introduced 'local x=$(cmd)' into 'local x' / 'x=$(cmd)' so the command's return is not masked — the two-line form the reviewer's shellcheck expects (6 line(s)).
calliope merged commit eb035e34a4 into erato/focus 2026-06-23 15:39:50 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
fqqdk/daisy!2
No description provided.