AntFleet

Disagreement · b6cf244f-anthropic-11

feed.sh dedupes/sorts incorrectly: passes raw post objects (no signal fields) but later jq tries to read .signal.*

solo Opus
repo a16d2030·PR #5·reviewed 1 week ago

Opus finding

feed.sh dedupes/sorts incorrectly: passes raw post objects (no signal fields) but later jq tries to read .signal.*

mediumbugmedium
  • bankr-signals/scripts/feed.sh:36-70
The pretty-print loop tries `.raw_text | fromjson? // . | if type == "object" then ... .signal.action ...`. If `fromjson?` succeeds but the parsed object isn't a signal (e.g. botchan returns text that happens to be valid JSON like `"hello"`), the branch still treats it as an object and accesses `.signal.action`, producing nulls. Combined with `2>/dev/null || echo "No signals found..."`, real malformed posts will be hidden behind a vague error. Minor, but mixed with `command -v botchan` being checked per-provider rather than once, it indicates the loop accumulates `[]` when botchan is missing, then jq emits no output and the fallback message is printed regardless of how many subscriptions exist.

Recommendation

Check command -v botchan once at startup with a clear error; in the formatter, gate the signal-shaped branch on the presence of .signal.action.

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →

From the same review

These findings passed the unanimous gate on the same PR review. The disagreement above was filtered out; the findings below were posted.