50 Commits

Author SHA1 Message Date
Matt Van Horn d05389d39b feat(telegram): add opt-in Telegram public channel source (#1035)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-21 22:59:01 +01:00
github-actions[bot] 9243a32d82 chore(release): bump version to 3.21.1 (#1022)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-18 18:14:24 +01:00
Sk 35ff7b0549 feat(perplexity): migrate Sonar integration to the Agent API (#1019) 2026-08-18 18:06:39 +01:00
Matt Van Horn c7460f6114 chore(release): bump version to 3.21.0 (#1006)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 17:23:53 +00:00
Matt Van Horn 40b42b7bed feat(x): bird first, grok CLI opt-in only (#1005)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 10:16:04 -07:00
Matt Van Horn 0b35e0c2c8 chore(release): bump version to 3.20.0 (#1003)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 12:36:17 +00:00
Matt Van Horn ab124fc8f9 feat(x): retrieve-judge-retry so X stays on-topic (#998)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 05:27:11 -07:00
Matt Van Horn c7cc880c36 fix(grok): treat expired sessions as degraded, not ok (#1000)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 04:50:34 -07:00
Matt Van Horn acdc397fec fix(amazon): start review lane at search time so multi-source runs keep a real budget (#999)
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-08-14 04:46:53 -07:00
github-actions[bot] 4fa89d772d chore(release): bump version to 3.19.0
Built CHANGELOG.md from changelog.d via towncrier and bumped lockstep version surfaces to 3.19.0.
2026-08-14 01:08:49 -07:00
Matt Van Horn 698bfd0c3d feat(x): X search via Grok CLI plus first-party evidence fixes (#991)
Grok CLI X search with no X credential, first-party evidence fixes, skip-floor when unidentified, and thin-retry handle protection.
2026-08-14 00:55:57 -07:00
Matt Van Horn ddc761d2c2 fix(rank): keep out-of-window evidence out of the top ranks (#993)
Cherry-picks the recency contract from #885 so stale items cannot lead ranks, including cluster representatives and the final sort.

Co-authored-by: bekonyn <noyanjeanbean@gmail.com>
2026-08-14 00:37:52 -07:00
Matt Van Horn 6835eb8b1e feat(reddit): arctic-shift fallback for shreddit listing lanes (#992)
Cherry-picks arctic listing fallback from #960 and keeps failed shreddit lanes honest when arctic recovers only part of the request.

Co-authored-by: technicianofthesacred <technicianofthesacred@users.noreply.github.com>
2026-08-14 00:35:17 -07:00
Matt Van Horn 55885bcacc fix(github): query is:issue and is:pull-request when authenticated + partition honesty (#994)
Cherry-picks authenticated GitHub search from #967 and reports partial failure when one partition fails.

Co-authored-by: Mario Marquez <60635115+Mariomarquezt@users.noreply.github.com>
2026-08-14 00:31:03 -07:00
Matt Van Horn e93c8249d8 feat(amazon): buyer-signal source via Bright Data CLI (#988)
Adds an opt-in `amazon` source backed by the Bright Data CLI: product
discovery with live ratings and prices, plus a capped sample of recent
reviews woven in as buyer voice.

The signal it exists for is drift -- an all-time rating set against the
average of only the reviews inside the last 30 days. The emoji footer
names products and the direction they moved rather than counting
inventory, following the Polymarket shape:

  📦 Amazon: 12 products │ Spirit E-325 Gas 4.4★→4.8★, Genesis E-325 Gas 4.4★ quiet

Off by default and dual-gated: the CLI must be on PATH and logged in, and
the run must explicitly request the source. It never auto-fires from
inferred intent. A drift arrow requires n>=5 dated in-window reviews,
since a live date census showed Amazon's top-reviews ordering is only
weakly recency-biased.

Includes doctor registration, honest setup reporting, SKILL.md trigger
guidance with worked examples, and CONFIGURATION.md coverage.

Reviewed by three independent agents plus Greptile (5/5). Fixes landed
for: the API key being visible in argv, --amazon-query leaking into
competitor sub-runs, a lane deadline that did not bound wall clock, brand
inference that silently disabled the competitor guard, and a saved-report
source list that dropped whole sources from the per-source dump.

Verified with three live end-to-end runs against a funded account.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-13 14:40:01 -07:00
Terry Li 1004324ad3 fix: save the full artifact on --emit=compact --save-dir runs (#924)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 14:51:06 -07:00
Som Samantray 9b4684d5f3 fix(github): strip planner-injected search qualifiers from topic queries (#955) 2026-08-07 14:50:16 -07:00
Eugene 57f8d2c87a fix(reddit): report keyless 429/403 as transport failures, not no-results (#900)
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 12:17:50 -07:00
Beko b0fdfb0d51 fix(github): repos lane when person-mode PR search is empty (#883)
Co-authored-by: bekonyn <noyanjeanbean@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 11:58:15 -07:00
Som Samantray a940c98965 fix: four independently-verified bugs (#905, #908, #886, #909) (#912)
Co-authored-by: SomSamantray <>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 11:44:10 -07:00
Terry Li 53fb6104c9 fix(hackernews): stop dropping every HN comment on an unmeetable score floor (#890)
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 11:18:37 -07:00
Terry Li 21c54d646c fix(polymarket): match spelled-out topics against acronym titles (#891)
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 10:50:09 -07:00
Som Samantray f310b82c14 fix(setup-wizard): resolve npx via shutil.which on Windows (#904) (#911)
Co-authored-by: SomSamantray <>
Co-authored-by: Trevin Chow <trevin@trevinchow.com>
2026-07-30 10:22:43 -07:00
Trevin Chow ef6c279ceb fix(security): block SessionStart .env key RCE and align project trust (#914) 2026-07-30 10:14:55 -07:00
github-actions[bot] 9067158574 chore(release): bump version to 3.18.4 (#902)
Release / build-skill (push) Has been cancelled
Release / build-mcpb (amd64, darwin, darwin/amd64) (push) Has been cancelled
Release / build-mcpb (amd64, linux, linux/amd64) (push) Has been cancelled
Release / build-mcpb (arm64, darwin, darwin/arm64) (push) Has been cancelled
Release / release (push) Has been cancelled
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-28 13:53:16 -07:00
Trevin Chow 5cc8e7cceb fix(youtube): stop comparison-mode search timeouts under fan-out (#901) 2026-07-28 13:51:13 -07:00
Trevin Chow 48fecf0fa4 docs(changelog): name fragment after PR #880 2026-07-24 18:25:45 -07:00
Trevin Chow b6efa6445f fix(ci): make tag-release.yml parseable YAML again
Unquoted chore(release): in the job if: broke Actions parsing on every
main push; also match merge-commit messages when tagging.
2026-07-24 18:25:25 -07:00
github-actions[bot] bb08c50bdd chore(release): bump version to 3.18.3 2026-07-25 01:15:04 +00:00
Trevin Chow f60d477d74 docs(changelog): add towncrier fragment for #851 2026-07-24 18:07:53 -07:00
Trevin Chow 9ef66ff61c Merge pull request #796 from nicolefinateri/fix/store-findings-none-engagement
fix(store): guard store_findings against None engagement_score on update path
2026-07-24 17:43:13 -07:00
Trevin Chow 529b3f3c1b docs(changelog): add towncrier fragment for #842 2026-07-24 17:40:04 -07:00
Trevin Chow 90a49a37bc Merge pull request #727 from nnhhoang/fix/726-synthesis-contract-survives-truncation
fix(render): keep the synthesis contract reachable when stdout is truncated (#726)
2026-07-24 17:36:30 -07:00
Trevin Chow 6172f0395e Merge pull request #841 from spiky02plateau/fix/strict-external-plan-validation
fix(planner): reject invalid explicit plan schemas
2026-07-24 17:32:51 -07:00
Trevin Chow 7999421b57 Merge pull request #850 from terry-li-hm/agent/footer-actual-save-path
Fix stale footer path after collision-safe save fallback
2026-07-24 17:31:25 -07:00
Trevin Chow 9e833f3ab0 Merge pull request #701 from singlaamitesh/fix/641-top-comments-relevance-blend
fix(render): blend thread relevance into Top Community Comments ranking
2026-07-24 17:31:11 -07:00
Trevin Chow 29d1dd6965 Merge pull request #859 from slkbuilds/fix/polymarket-domain-sweep
fix(polymarket): keep domain-sweep markets the topic filter drops
2026-07-24 17:30:59 -07:00
Trevin Chow 3e354ff7f2 Merge pull request #725 from ellacaggfitness-lang/fix/chrome-cookies-multi-profile
Fix Chromium cookie extraction to search all profiles, not just Default
2026-07-24 17:30:01 -07:00
Trevin Chow 1b559129fc docs(changelog): add towncrier fragment for #727 2026-07-24 17:24:11 -07:00
Trevin Chow 2ae2718ec9 fix(render): sparse-topic floor fallback and towncrier fragment for #701 2026-07-24 17:22:43 -07:00
Trevin Chow 4e06976079 docs(changelog): add towncrier fragment for #725 2026-07-24 17:21:26 -07:00
Trevin Chow 987b9b995a docs(changelog): add towncrier fragment for #841 2026-07-24 17:21:00 -07:00
Trevin Chow d57b147749 docs(changelog): add towncrier fragment for #850 2026-07-24 17:20:54 -07:00
Trevin Chow 074dc2569e docs(changelog): add towncrier fragment for #859 2026-07-24 17:19:13 -07:00
Trevin Chow 1ba7a2bb6a docs(changelog): add towncrier fragment for #860 2026-07-24 17:18:17 -07:00
github-actions[bot] 666c8eaf45 chore(release): bump version to 3.18.2 2026-07-25 00:14:08 +00:00
Nicole Finateri c0e9fbf80b fix(store): guard new_engagement against None in store_findings update path
`.get("engagement_score", 0)` only substitutes 0 for an *absent* key, so a
present-but-None value reached `max(None, existing)` on the update branch and
raised TypeError ("'>' not supported between instances of 'float' and
'NoneType'"). Guard `new_engagement` with `or 0`, symmetric with the
existing-row side already guarded on the same line.

The standard `findings_from_report` pipeline coerces None->0 at the producer,
so this hardens the public `store_findings(List[Dict[str, Any]])` boundary for
arbitrary callers rather than fixing a reachable pipeline crash. Adds a
regression test in tests/test_store.py.
2026-07-24 17:05:04 -07:00
Trevin Chow 4c7b87b86d fix(render): keep scraped ## headings out of evidence blocks
Multi-line untrusted snippets could break out of Evidence indentation and
mint structural markdown headings inside EVIDENCE FOR SYNTHESIS. Indent
continuation lines and escape leading ATX markers at emit time.

Fixes #874
2026-07-24 17:04:55 -07:00
Trevin Chow bfe1453c66 fix(trustpilot): auto-activate source when domain is explicitly pinned
Passing --trustpilot-domain (or a plan-level trustpilot_domain) was accepted
and then silently ignored unless INCLUDE_SOURCES/--search already opted in.
Treat an explicit domain pin as intent and activate the source for the run.

Fixes #873
2026-07-24 17:04:54 -07:00
Trevin Chow 2471ea23ce Add towncrier fragments and automated lockstep release workflow
Stop shared Unreleased edits that conflict across PRs, and cut releases via
Prepare release (towncrier + every plugin/marketplace version bump) then
auto-tag on merge, with agent-oriented CONTRIBUTING and PR template guidance.
2026-07-24 16:10:52 -07:00