fix(search): re-render result rows when tag-action rules arrive
The tag-action affordance (the per-row checkbox that toggles
#todo <-> #done, plus icon badges) was missing from search result
rows because the rules cache populates asynchronously over the
tag-actions:get-all pubsub roundtrip. The first render() ran with
rules=[], skipping the affordance branch in createSearchResultCard;
nothing then triggered a re-render when the rules eventually
arrived.
Subscribes home.js to tag-actions:get-all:response (already in the
manifest pubsub allowlist) and re-renders when rules update, but
only if there are results to redraw.
Subscription is installed inside init() AFTER createActionRulesCache
so the cache's internal listener fires first and getRules() returns
the up-to-date set by the time our handler reads it.