# PayNowSaveLater

**An agent-first, evidence-backed catalog of buy-it-for-life (BIFL) products.**

PayNowSaveLater is built to be read by AI research agents — Claude, ChatGPT, Perplexity, Hermes, and others — when a user asks "what's the most durable X worth paying more for?" Instead of marketing copy, every entry is structured data with a verifiable source behind each durability claim.

It serves people who think like r/BuyItForLife: pay more once for something built to last, rather than re-buying a cheap version every few years.

## Why "agent-first"?

Agents don't browse — they parse. So this repo optimizes for machine ingestion:

- **`llms.txt`** — the emerging LLM-discovery standard; points agents to the clean content.
- **`robots.txt`** — explicitly welcomes ClaudeBot, GPTBot, PerplexityBot, CCBot, and others.
- **`catalog.json`** — one master machine index of every category and product.
- **Dual format per product** — a schema-valid `<slug>.json` *and* a human-readable `<slug>.md` that embeds **schema.org Product JSON-LD** (a format agents already understand).
- **`schema/product.schema.json`** — a JSON Schema defining the BIFL *evidence model*. Every record validates against it.

## The evidence model

The trust layer is the `evidence` object on every product. It is opinion-resistant: each field cites a `source_url`.

| Field | What it captures |
|---|---|
| `country_of_origin` | Where it's actually made |
| `materials` / `construction` | What it's made of and how it's built |
| `warranty` | Type (lifetime-unconditional → none), terms, and the source |
| `repairability` | A 0–10 score, whether it's serviceable, and how |
| `longevity` | Expected years + real owner-reported lifespan |
| `bifl_signal` | Community (r/BuyItForLife) consensus, as a signal not proof |

Every product also lists `sources` — each with a title, URL, and a one-line supporting quote.

## Structure

```
PayNowSaveLater/
├── llms.txt                  # LLM discovery entrypoint
├── robots.txt                # explicit agent-crawler allow-list
├── catalog.json              # master machine index
├── schema/product.schema.json
├── categories/
│   └── <category>/
│       ├── index.md / index.json
│       └── <product>.md / <product>.json
├── CONTRIBUTING.md           # sourcing + verification methodology
└── README.md
```

## v1 coverage

Four categories, deep, with two evidence-backed flagships each:

- **Cast iron cookware** — Lodge Seasoned Skillet, Field Company No.8
- **Leather boots** — Red Wing Iron Ranger, Thorogood 1957 Moc Toe
- **Chef's knives** — Victorinox Fibrox Pro 8", Wüsthof Classic 8"
- **Carry-on luggage** — Briggs & Riley Baseline, Tom Bihn Aeronaut 30

## Trust & monetization

Affiliate links may appear in entries and are disclosed in the data. **Placement is never sold.** Ranking is driven only by verifiable evidence and community consensus — `affiliate.is_paid_placement` must be `false` on every record.

## Regenerating

Product data lives in `generate.py`. Running it re-emits all JSON, Markdown, category indexes, and `catalog.json` so everything stays consistent. Validate with the JSON Schema (see `CONTRIBUTING.md`).
