Gear Patrol
gearpatrol.com — Editorial gift guides and product features. Skim seasonal guides for gift candidates. Feed bypasses the Cloudflare challenge entirely — validated 2026-07-03 (gearpatrol.com/feed/); switched from fetch:skip to fetch:feed. Demoted daily → weekly 2026-07-22: the feed is live and enormous (45–46 in-window items every run) but its content has collapsed into commodity roundups — 'best knives/sneakers/watches of 2026 so far' listicles, car news, retail discount posts — and it has produced zero finds across the 07-20, 07-21 and 07-22 runs. Not blocked, just low-yield; a weekly skim is enough to catch the occasional genuine product launch. 2026-08-18: **fetch finding that supersedes the article-page block.** Article pages are Cloudflare-challenged to curl AND return 403 to WebFetch (this is what stalled the porsche-911-carrera-s-mt graduation for three runs), but the feed carries <content:encoded> with the FULL article body on every entry — 75 of 75 this run, including inline <img> URLs at /wp-content/uploads/... which fetch fine with a Safari UA. Item-level detail and heroes therefore never need the article page: parse content:encoded from the feed. Feed is ~3.2MB, so weekly cadence stays right; the yield diagnosis from 07-22 is unchanged. 2026-08-19: **promoted weekly -> daily, retiring the 07-22 low-yield diagnosis.** That demotion was made after three zero-find runs, and it has been wrong since 08-11: the source produced on 08-11 (7 finds), 08-12 (4), 08-13 (2), 08-14 (1), 08-18 (1) and 08-19 (3). Yesterday's entry held the cadence at weekly on feed size alone; two consecutive productive runs since say the yield objection no longer stands, and 2.4MB a day is a cheap price for the strongest product-launch feed on the list. The content:encoded path recorded on 08-18 held on its second run — three of today's finds (citizen-eco-drive-one, new-balance-tds-mt2, timberland-heritage-clog) were written entirely from the feed body and its inline images, with the article pages never touched. **2026-08-23 yield note: read the piece for ship status before writing, because the feed does not distinguish.** Of six candidates that cleared the bar on subject matter this run, five were announcements or pre-orders rather than shipping products — FiiO CP-11 (announced, no date), Sony Pulse Elevate (pre-order 09-01, ships 11-12), Litefar B1 (litefar.com sells only a $20 launch deposit), Esoteric T-01 (introduced, no listing) and the Nodus Sector II Dive H&H Edition (75 pieces, on sale 08-27/28). Only the Timex Snoopy reissue was buyable. Same failure mode as the 08-22 Helton and Mattel Xbox drops. **2026-08-25: the 08-23 read-for-ship-status rule paid off in the other direction, which is worth recording alongside the failures.** Of the in-window set, one item carried a firm date, a firm price and a live product page — the Tactile Turn Roswell bolt-action pen, $149, on sale 25 August at noon Central — and it was the only one captured. The tell is in the article body, never in the feed metadata: a shipping item names a price and a date, an announcement names neither. Everything else in the 25-item window was roundups, deals posts, motorcycle and sneaker news. **2026-08-27: the 08-18 note that article pages are blocked to WebFetch as well as curl is now wrong and is corrected here.** curl still gets a 403, but WebFetch resolved gearpatrol.com/watches/ming-5705-comet/ cleanly this run and returned price, case size, movement, edition size and the og:image. Both paths are therefore open — content:encoded from the feed, and WebFetch on the article page. Unlike The Awesomer, this source is only half-blocked; do not skip an item because curl 403s. 2026-08-29: feed healthy at 75 in-window entries, zero captured. The window was almost entirely 'best X of 2026 (so far)' roundups, deals posts, car/moto/sneaker news and camping gear; the two genuine product launches worth a second look (Timex's 1970s throwback, a Pro-Ject turntable) sit behind roundup framing. The 08-25 tell — a shipping item names a price and a date — still separates the wheat, there just wasn't any today. 2026-08-30 correction to the 08-29 note: the Timex 1970s throwback was NOT behind roundup framing. /watches/timex-1976-rotary-phone-dial-reissue/ is a standalone single-product post and it produced today's watch find. The tell is the URL, not the headline: /<section>/<product-slug>/ is a product post, /<section>/best-* and /deals/* are roundups and deals. Article pages still 403 to curl and still resolve cleanly to WebFetch. 2026-08-31: caveat added to the 08-30 URL-path rule, because the rule alone would have dropped today's one capture. `/home/aeropress-grinder-rei-labor-day-sale/` is deal-shaped by path and by headline, and the 08-30 rule says deals are not product posts — but the *subject* was a genuinely new first-party product (AeroPress's first grinder) that this site had never captured. **The refined rule: path shape decides whether the post is worth reading, not whether the product is worth capturing.** On a deal or roundup post, ask whether the item behind it is a new, distinct, first-party product; if it is, capture it and point `link` at the maker, never at the deal. 46 in-window entries, one captured. 2026-09-01: dated. Feed healthy at 75 entries, 45 in-window, one capture (awco-squale-milbino). The 08-18 <content:encoded> path is re-confirmed and did the whole job: the article page for the run's other candidate returned the usual 403/5.7KB block to a Safari-UA curl, and the feed body carried the full text and images. One kill worth recording against the 08-31 roundup rule: the Rixel Titanium Multi-Tool Pry Bar reads as a first-party product launch, but the article's own body says 'a new Kickstarter product' — the not-yet-shipping rule applies, and the tell was in content:encoded, not the headline. 2026-09-02: **parser gotcha that cost this source two finds mid-run, and it is the same shape as The Awesomer's 08-18 note — the failure was in the reader, not the feed.** <content:encoded> is present on 75 of 75 items and carries the full article body, but it appears AFTER <description> inside each <item>, so a reader that takes the first matching body element gets only the one-line standfirst and the whole source looks summary-only. Match content:encoded explicitly by name rather than taking the first of encoded/description/summary/content. Once matched, both candidates yielded ~20KB bodies with inline wp-content images at ?w=1920, and both were captured (patagonia-rugby-shirt, fender-timex-automatic), each pointed at the maker per the 08-31 rule. Second note: patagonia.com product pages return a 10-byte 'Not found' body on HTTP 404 to a Safari-UA curl while resolving normally in search with matching first-party copy — treat a Patagonia 404 as a bot block, not as a dead product.