feat(thepointsguy): add thepointsguy#1423
Conversation
|
@greptileai review Auto-nudge from |
Greptile SummaryThis PR introduces the first CLI and local database for The Points Guy (
Confidence Score: 4/5Safe to merge after addressing the drift-history mixing bug; the remaining concern is a latent unsynchronized cache in the Algolia client that is not triggered by any current code path. The valuations drift command collects history rows from every program whose name contains the search term without any ambiguity check. An ambiguous query produces a drift series that silently interleaves cents-per-point values from different programs sorted only by month — the output looks plausible but is factually wrong. Every other novel command goes through resolveValuation which surfaces candidates when there is no unique match. internal/cli/valuations_drift.go — program-name matching needs to resolve a single canonical program before collecting history rows. internal/tpg/tpg.go — DiscoverAlgolia cache fields need mutex protection. Important Files Changed
|
| { | ||
| "schema_version": 2, | ||
| "generated_at": "2026-07-02T17:24:34.055539Z", | ||
| "printing_press_version": "4.27.1", | ||
| "api_name": "thepointsguy", | ||
| "display_name": "The Points Guy", | ||
| "cli_name": "thepointsguy-pp-cli", | ||
| "creator": { | ||
| "handle": "megumikuo", | ||
| "name": "megumikuo" |
There was a problem hiding this comment.
Missing
dogfood-results.json at the CLI root
The AGENTS.md canonical PR shape requires dogfood-results.json as a structural validation output at library/<cat>/<slug>/dogfood-results.json. This PR has phase5-acceptance.json nested under .manuscripts/…/proofs/ but nothing at the CLI root path the convention expects. The verify_publish_package.py CI check may not gate on this file directly, but it is part of the expected artifact set that downstream registry tooling and skill generators rely on to confirm the CLI was properly validated end-to-end.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
…s; add dogfood-results.json
|
@greptileai review Auto-nudge from |
thepointsguy
The first CLI and local database for The Points Guy: search every article, look up any card's real terms, and turn points valuations into answers you can script.
API: thepointsguy | Category: travel | Press version: 4.27.1
Spec: Discovered from live site surfaces (Algolia search, SSR NEXT_DATA, RSS, sitemaps) — no OpenAPI
Publication Path
New print
CLI Shape
Novel Commands
redeem-checkworthportfoliocards comparevaluations driftsinceWhat This CLI Does
The first CLI and local database for The Points Guy: search every article, look up any card's real terms, and turn points valuations into answers you can script.
The Points Guy is the reference for points valuations and credit-card terms, but that data is buried in long articles and JS-rendered pages. This CLI mirrors TPG's valuations, card database, and content into a local SQLite store so you can search (live Algolia or offline FTS), value a balance with 'worth', decide points-vs-cash with 'redeem-check', and compare cards with 'cards compare' — all agent-native with --json and --select.
Manuscripts
Validation Results
Publish Live Gate
Full live dogfood reran at publish time against thepointsguy.com and passed (63/63, no auth). Proof: Phase 5 Acceptance manuscript above.
Notes
Read-only, no auth, no writes. Built entirely on replayable HTTP surfaces (Algolia search with runtime-discovered public search key, server-rendered
__NEXT_DATA__extraction, RSS, sitemaps). Scorecard 81/100 (Grade A); shipcheck 7/7 legs; MCP mirror exposes all 23 commands.