<summary>Query the LinkedIn posts the user tracks: their own posts (metrics
refreshed daily M-F) plus third-party posts registered via
fetch_post_engagers. `is_own_post` distinguishes the two — third-party
rows carry the author's name/headline in author_name/author_headline.
Use this to answer "which of my posts performed best?", "what's my average engagement?",
"show me posts from last month", etc. This is the account-global table, with no
agent/monitor dimension — for the feed a specific agent's monitors discovered (and
to act on it), call query_monitored_posts.
Columns: id, social_id, text, share_url, posted_at, impressions, reactions, comments,
reposts, is_own_post, author_name, author_headline, fetched_at, created_at, plus a
derived engagement_rate string (reactions+comments+reposts over impressions, matching
the UI) — '0.0' for posts with no impression data (e.g. third-party posts). The
engagement_rate is computed after the query runs, so it can't appear in where_clause
or order_by; filter and sort on the raw columns instead.</summary>
<returns>
<description>Dict with count, truncated, and posts array (each row carries the
columns above plus the derived engagement_rate).</description>
</returns>