What this is: Material changes to KibbleIQ's scoring methodology, ingredient database, or analyzer behavior. Entries are dated and listed newest first. Individual product rescoring (when a manufacturer reformulates) is handled inside each affected review; this page tracks the things that move multiple products at once.

2026-04-19 — Dry kibble rubric retroactively labeled v1.0

Version-hygiene housekeeping. The dry kibble rubric has powered every extruded-kibble review on KibbleIQ since launch and has not changed in substance, but it was never given an explicit version stamp. Now that the fresh food rubric and cross-format rubric both ship at v1.0, the dry rubric is retroactively labeled v1.0 so all three rubrics share consistent naming. No scoring math moved, no cache key bumped, no published score on the site changed as a result of this label — this entry exists solely so that future dry-rubric changes version cleanly instead of leaving the rubric one step behind the other two. The methodology page reflects the label in the dry-rubric heading and in the “when the methodology changes” footer.

Also shipped alongside the label: site-wide Google Analytics 4 instrumentation for measuring the pre- and post-Priority-11 affiliate revenue lift. Three conversion events are now emitted: analyzer_run on every successful brand / ingredients / compare analysis, affiliate_click on every Chewy CTA click across the analyzer and the 500+ blog pages, and blog_scroll_bottom on read-through of any blog article. The events are gated behind the existing GA4 property (G-DD1KP1K7FC) and ship with zero user-facing behavior change. A new homepage “Recent deep-dives” strip surfaces the six most-recent flagship guides below the analyzer UI to route analyzer-first traffic into the content library.

2026-04-19 — Cross-format rubric STEP 1 recalibrated + first cross-format guides

Follow-up to today’s Cross-Format Rubric v1.0 ship (below). Session 30’s live-analyzer validation of the five paper-pilot pairs surfaced a calibration gap in STEP 1 of the cross-format prompt: the compressed single-line rubric summaries inside the prompt were not reproducing the line-by-line native rubric scores (Farmer’s Dog and Orijen both returned native_score 74/67 rather than the catalog-verified A/90), and the AAFCO / pathogen / sourcing fields were bleeding fresh-rubric deductions into dry-kibble native scoring. The fix inlines the FULL native dry-kibble rubric and the FULL Fresh Food Rubric v1.0 text into STEP 1 — byte-identical to the native-branch prompts — and adds an explicit scoping rule that reserves AAFCO / pathogen / sourcing for the STEP 2 overlays only when the product is dry-kibble. The overlay math (§§ 4.1–4.3), caps, and output schema are unchanged; the paper-pilot expectations documented in the methodology source doc still stand. Live-analyzer validation re-runs next session once the rubric-calibrated build warms its cache. Cache key bumped |v9|v10 across all four analyzer branches.

Four flagship cross-format guide articles shipped in the same session, building on the new rubric’s apples-to-apples comparability: Best Dog Food Overall (cross-format top picks spanning fresh subscriptions, dehydrated recipes, and premium dry kibbles), Best Cat Food Overall (same treatment for feline obligate-carnivore nutrition), Fresh vs Kibble: Same Price, Different Value (cost-per-1000-kcal economics anchored around the Ollie Baked vs Ollie Fresh within-brand inversion), and Best Dog Food by Budget (tiered picks at roughly $1 / day, $3 / day, and $5+ / day across both formats). Each guide’s editorial byline reads “Scored using KibbleIQ Cross-Format Rubric v1.0 (published 2026-04-19)”, so the methodology audit trail is explicit.

2026-04-19 — Cross-Format Rubric v1.0 shipped

A third rubric joined the dry-kibble and fresh-food rubrics today: the cross-format rubric v1.0, used for opt-in apples-to-apples comparisons that cross format boundaries — e.g., a cooked-fresh subscription vs. a dry kibble, or a dehydrated recipe vs. a canned-wet. Both native rubrics already shared a 0–98 score cap and A–F bands, but they applied different normalization steps, different processing bonuses, and different AAFCO-substantiation weightings, so a fresh-rubric B/85 was not directly comparable to a dry-rubric B/85 today. The cross-format rubric closes that gap by layering three small overlay adjustments (each bounded at ±2 points) on top of each product's native score: a processing-overhang correction that dampens high-bonus fresh formats, an AAFCO-substantiation overlay that rewards feeding-trial pathways in either rubric, and a sourcing-transparency overlay that credits verifiable sourcing signals in both fresh and dry brands alike. The design principle is conservative — cross-format is a correction, not a rescore. The full specification lives at kibbleiq/METHODOLOGY_CROSS_FORMAT_v2.md in our repository.

The cross-format rubric is opt-in only. A new "compare across formats" toggle in the Compare Brands tab activates cross-format scoring; without the toggle, Compare Brands behaves exactly as it did pre-v2 (two native-rubric analyses side-by-side). Within-format comparisons (dry vs. dry, or two fresh foods of any format class) never need cross-format machinery. Every cross-format result displays the native score alongside the cross-format score and lists which overlay adjustments were applied, so the math is auditable. A per-1000-kcal nutrient-density summary is shown as an informational overlay — it does not affect the score itself; it helps readers see whether a lower-calorie fresh food delivers meaningfully more density per calorie than a higher-calorie dry kibble.

Analyzer cache key bumped from |v8 to |v9. The next request for any brand will warm a fresh cache entry under the updated analyzer build. No existing native scores change as a result of this ship; the bump is a mechanical consequence of the new prompt branch going live alongside the existing three (dry-kibble DB-match, dry-kibble brand-fallback, fresh-rubric DB-match, and now cross-format-compare). (Session 30 bumped again to |v10 after the STEP 1 recalibration above; this changelog notes both bumps for the audit trail.)

Session 29 also includes a paper-pilot validation of five cross-format pairs documented in the methodology source doc: Farmer's Dog vs Orijen (dog A/92 vs A/91), Freshpet vs Blue Buffalo (B/79 vs B/78), Sundays vs Fromm (A/91 vs B/85), Smalls vs Orijen Cat (A/90 vs A/92), and Ollie Baked vs Ollie Fresh (A/91 vs A/90). Live-analyzer validation of these five pairs runs next session after this deploy warms.

2026-04-19 — First fresh-food content batch (Priority 5b opens Phase B)

Eight fresh-format dog brands were added to the ingredient database with full format metadata, scored under the Fresh Food Rubric v1.0 via the live analyzer, and published as new reviews: Open Farm (freeze-dried-raw, A/90), The Honest Kitchen (dehydrated, B/78), Spot & Tango (cooked-fresh, B/76), Ollie (cooked-fresh, A/90), The Farmer’s Dog (cooked-fresh, A/90), Nom Nom (cooked-fresh, A/82), Sundays (dehydrated, A/90), and JustFoodForDogs (cooked-fresh, A/90, the only feeding-trial-substantiated brand in our database). Eight fresh-vs-fresh comparison articles also shipped. Database bumped v3.9 → v3.10. Sitemap 465 → 481.

Freshpet rescored under the fresh rubric: Freshpet Select moved from its dry-rubric B/78 score to a fresh-rubric B/79 — same grade band, 1-point lift reflecting the refrigerated-format processing bonus. A score change of this size doesn’t affect any of the cross-references that cite Freshpet, but the Freshpet review has been updated with an editorial note explaining the rubric transition. The previous dry-rubric B/78 remains accurate for the underlying ingredient quality; the fresh-rubric B/79 is the score that uses the same rules applied to other fresh-format products.

Live-analyzer scoring confirmed one noteworthy paper-pilot revision: Open Farm Freeze-Dried Raw landed at A/90 rather than the paper-pilot estimate of A/98, because the company does not publicly document high-pressure processing (HPP) or every-batch pathogen testing for its freeze-dried raw line. Under our rubric that triggers a −3 pathogen-control deduction for raw formats without documented controls. If Open Farm publishes HPP or test-and-hold documentation, we’ll rescore.

2026-04-19 — Fresh Food Rubric v1.0 shipped

A new, format-aware rubric for fresh, refrigerated, dehydrated, freeze-dried-raw, frozen-raw, and canned-wet pet food shipped alongside the existing dry-kibble rubric. The dry rubric is unchanged — every existing dry-kibble score on the site remains valid. The fresh rubric adds a normalization step (water and broths are stripped from the ingredient panel before scoring, since fresh foods legitimately list water first), a format-specific processing bonus (+1 for canned-wet through +6 for freeze-dried-raw reflecting thermal-processing intensity), an AAFCO-substantiation axis (feeding-trial vs. formulation vs. supplemental), a pathogen-control axis for raw formats (HPP, test-and-hold, recall history), and a sourcing-transparency axis (country of origin, named farms, human-grade, third-party certifications). The full specification lives at kibbleiq/METHODOLOGY_FRESH_v1.md in our repository.

Every fresh-format score on the site is rendered with a small "Fresh" label next to the numeric score so the format class is never ambiguous. A fresh-rubric B/85 is not directly comparable to a dry-rubric B/85 — cross-format comparison is explicitly out of scope for v1 and is slated for a v2 methodology. See methodology → fresh food rubric for the full user-facing summary.

Analyzer cache key bumped from |v5 to |v6. The next request for any brand will warm a fresh cache entry under the updated rubric. Dry-rubric scores are unchanged in substance; the cache bump is a mechanical consequence of the analyzer-side change. Freshpet is the only product currently in the database flagged as a fresh format (refrigerated); its re-score under the fresh rubric will propagate into the Freshpet review on the first live-analyzer run post-deploy.

2026-04-17 — Cache version |v5 for Session-2 database re-verification

Seventeen ingredient-database entries across ten brands were re-verified against current manufacturer labels (Iams ×4, Pedigree, Friskies, Royal Canin Medium/Large/Small Adult, Orijen Original and Puppy, Taste of the Wild High Prairie / Pacific Stream / Sierra Mountain, Alpo, Beneful, Fancy Feast). Several reformulations moved scores by a few points; the cache key was bumped from |v4 to |v5 so all stale cached responses re-ran through the analyzer on next access.

2026-04-09 — Database accuracy pass (v3.1)

Eight database entries were web-verified against current labels and ten published reviews were corrected to match. The most consequential change: Royal Canin's generic line was downgraded from C/58 to D/50 following a reformulation the previous year. The ingredient database was bumped to v3.1.