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.