Verifier
CertiWattWh

Changelog

Every production release gets a short human-readable summary here, so the product history stays easy to follow.

2026-05-29

AEO asset worker routing

v2026.05.29-87

This release routes the AEO manifest JSON assets through the Worker first so crawler-visible schema headers are applied in production.

  • Adds Cloudflare `run_worker_first` routing for `/aeo-manifest.json` and `/aeo-manifest.schema.json`.
  • Keeps the override scoped to the two AEO JSON assets so normal static assets remain asset-first.
2026-05-29

AEO manifest edge headers

v2026.05.29-86

This release restores crawler-visible AEO manifest headers at the Cloudflare edge for the static manifest assets.

  • Adds the schema `Link` header for `/aeo-manifest.json` from middleware so OpenNext static asset delivery cannot drop it.
  • Restores cache-control headers for `/aeo-manifest.json` and `/aeo-manifest.schema.json` at the edge.
  • Keeps hreflang Link headers limited to HTML pages so manifest schema discovery remains intact.
2026-05-29

Homepage translation coverage

v2026.05.29-85

This release closes remaining homepage translation gaps across guide cards, capacity clusters, and popular verdict checks.

  • Switched homepage featured guides to use the localized guide catalog.
  • Added localized homepage labels for guide, capacity/limit, and popular-check sections.
  • Localized capacity and Wh-limit cards shown on the homepage.
  • Localized popular verdict check labels while keeping brand, model, and airline names intact.
2026-05-29

Standard hreflang serialization

v2026.05.29-84

This release moves language alternates from Next Metadata HTML serialization to standard lowercase hreflang HTTP Link headers.

  • Removed Metadata API language alternates that rendered as camel-case `hrefLang` in raw HTML.
  • Added lowercase `hreflang` alternates through HTTP `Link` headers for HTML page routes.
  • Kept sitemap XML `hreflang` output unchanged and already lowercase.
  • Avoided adding hreflang headers to JSON, XML, image, and robots assets so existing schema and sitemap headers stay intact.
2026-05-29

Curated verdict indexability

v2026.05.29-83

This release narrows the indexable programmatic verdict surface to curated high-value routes while keeping low-demand combinations reachable with noindex canonical handling.

  • Reduced generated sitemap exposure from exhaustive model-airline-country combinations to 914 curated indexable URLs.
  • Kept `/sitemap-priority.xml` focused on 95 high-value URLs, including the 50 curated long-tail verdicts.
  • Changed low-demand `/p/...` combinations to `noindex, follow` with canonical URLs pointing to the matching catalog model page.
  • Updated Search Console monitoring baselines and AEO guards for the smaller indexable surface.
2026-05-29

Verdict provenance schema depth

v2026.05.29-82

This release deepens verdict-page JSON-LD provenance for citations, applied rules, source integrity, and ingest metadata.

  • Added nested source-integrity details to each verdict citation.
  • Expanded rulesApplied with rule identifiers, temporal coverage, scope, trigger/effect payloads, and rich rule citations.
  • Expanded sourceIntegrity with feed identity, measurement techniques, source document items, tracked counts, and last-ingested metadata.
  • Linked provenance parts with hasPart and isBasedOn while preserving existing top-level fields for compatibility.
2026-05-29

AEO citation contract release

v2026.05.29-81

This release packages the full AEO and citation structured-data hardening work for deployment.

  • Expanded the AEO manifest contract for 22 question guides, 11 brand hubs, and 50 curated long-tail verdicts.
  • Aligned long-tail manifest `article_body` with /p/... Article JSON-LD `articleBody` and added parity guards.
  • Added structured citation metadata with `citation_kind`, `citation_jurisdiction`, and `pulled_at` across manifest sources, page JSON-LD, schema, llms.txt, /developers, and /mcp.
  • Added shared citation/payload constants, citation JSON-LD contract tests, Search Console sampling guidance, and handoff docs.
  • Verified the release with full preflight and production build.
2026-05-28

AEO answer-engine surfaces

v2026.05.28-9

This release builds the first dedicated 2026 ICAO/IATA power-bank answer-engine surface.

  • Added a 2026 power-bank rule guide plus five high-confusion question pages for quantity, in-flight use, in-flight recharging, 100-160Wh approval, and packing.
  • Expanded the 2026 question cluster with carry-on-only, two 20,000 mAh power banks, and missing-label airport-risk pages.
  • Added a MagSafe / wireless power-bank question page covering magnetic packs, in-flight use, aircraft-power recharging, and the two-device limit.
  • Expanded curated long-tail verdict coverage to 24 model x airline x country pages for Anker, Baseus, CUKTECH, Xiaomi, UGREEN, INIU, and RAVPower travel queries.
  • Linked matching curated verdict checks from brand hubs so high-demand brands expose their priority `/p/...` pages directly.
  • Added `/aeo-manifest.json` and `/aeo-manifest.schema.json` as machine-readable discovery files for agents and answer engines.
  • Linked the AEO manifest from `llms.txt`, `robots.txt`, `/developers`, and `/mcp`.
  • Added `npm run test:aeo` to prevent guide, long-tail verdict, manifest, sitemap, source, FAQ, and internal-link drift.
2026-05-28

Pricing package wording

v2026.05.28-8

This release clarifies Free as evaluation access and Founder Special as a production starter package.

  • Rebalanced Free plan inclusions around verifier, catalog, API evaluation, widget preview, and source-linked verdicts.
  • Rebalanced Founder Special inclusions around production query allowance, API/widget, verdict records, email support, and rule-change digest.
  • Aligned `/pricing` and `/founder-special` so the two packages read as a natural progression.
2026-05-28

Public pricing surface cleanup

v2026.05.28-7

This release removes remaining internal commercial language from public pricing surfaces.

  • Removed the remaining internal note from `/pricing`.
  • Removed internal commercial terms from `/founder-special`.
  • Kept the pages focused on price, included access, fit, trust signals, and contact handoff.
2026-05-28

Pricing page simplification

v2026.05.28-6

This release removes internal launch-rule copy from the public pricing page.

  • Removed the launch-rules list from `/pricing`.
  • Kept the public page focused on plan names, prices, and included access.
  • Preserved Free and Founder Special as the only public launch offers.
2026-05-28

Launch pricing copy cleanup

v2026.05.28-5

This release keeps launch pricing public copy focused on terms, eligibility, and included access.

  • Removed internal pricing rationale from public pricing copy.
  • Reworded pricing and Founder Special leads around launch terms and included access.
  • Kept the two public launch options unchanged: Free and Founder Special.
2026-05-28

Founder trust signals

v2026.05.28-4

This release adds verifiable trust signals to the Founder Special page and links the offer to source, compliance, changelog, and privacy evidence.

  • Added visible trust cards for cited sources, public compliance scorecard, release history, and privacy boundary.
  • Added a compact proof section describing verdict ID, ruleset version, citations, and final-authority notice.
  • Linked Founder Special JSON-LD to supporting evidence pages through `subjectOf` entries.
2026-05-28

Founder Special conversion path

v2026.05.28-3

This release adds a Founder Special landing page and connects pricing and ROI pages to one clear conversion path.

  • Added `/founder-special` with price, inclusion, and fit details.
  • Changed Founder CTAs on `/pricing` and `/roi` to route through the new landing page.
  • Kept the launch offer focused on the Founder Special terms and email handoff.
  • Included `/founder-special` in sitemap generation with Offer JSON-LD.
2026-05-28

ROI snapshot page

v2026.05.28-2

This release adds a one-row ROI snapshot for estimating monthly savings from reducing battery-related support tickets.

  • Added `/roi` with three fields: current ticket pain, CertiWatt reduction, and monthly savings.
  • Kept the page intentionally minimal for sales calls and founder-plan outreach.
  • Added localized ROI copy and WebApplication JSON-LD.
  • Included `/roi` in sitemap generation.
2026-05-28

Launch pricing page

v2026.05.28-1

This release adds a simple public pricing page for Free launch access and the Founder Special plan.

  • Added `/pricing` with two launch offers: Free for the first 90 days and Founder Special.
  • Included API, hosted widget, query allowance, support, and rule-change notification details.
  • Added pricing to desktop navigation, mobile navigation, localized routing, and sitemap generation.
  • Published pricing OfferCatalog JSON-LD for clearer search and answer-engine understanding.
2026-05-26

HowTo schema for non-allowed verdicts

v2026.05.26-2

This release adds traveler-facing HowTo structured data to Conditional and Banned programmatic verdict pages.

  • Added a visible airport-security HowTo section for Conditional and Banned verdict pages.
  • Added matching `schema.org/HowTo` JSON-LD so search and answer engines can understand the action steps.
  • Covered three traveler actions: prepare battery evidence, explain the device at security, and handle refusal safely.
  • Included Wh/mAh labels, China 3C evidence when applicable, and manufacturer proof/spec pages as required supplies.
  • Kept Allowed pages clean by only emitting the HowTo schema when the verdict needs traveler action.
2026-05-26

Canonical parameter cleanup

v2026.05.26-1

This release reduces Google Search Console alternate-page noise by removing crawlable verifier and catalog filter parameter links from public pages.

  • Replaced crawlable `?model_id=` verifier links with GET forms so users keep the same flow while crawlers see clean URLs.
  • Removed crawlable `?brand_id=` catalog-filter links from brand pages.
  • Extended the indexability smoke test to reject crawlable `?model_id=` and `?brand_id=` links.
  • Added coverage-drilldown sample checks for clean guide, brand, catalog, and localized verdict pages.
2026-05-22

SearchAction canonical cleanup

v2026.05.22-1

This release removes the placeholder WebSite SearchAction template that caused Google Search Console to report a literal `?q={search_term_string}` alternate URL.

  • Removed `potentialAction.SearchAction` from the site-level WebSite JSON-LD until a real search-results URL exists.
  • Added an indexability smoke assertion to prevent `{search_term_string}` from returning.
  • Kept HTTP-to-HTTPS alternate canonical behavior unchanged; that GSC example is expected.
2026-05-19

Indexability smoke test

v2026.05.19-12

This release adds an automated smoke test for sitemap health, internal crawl paths, programmatic page quality signals, JSON-LD, and API credential behavior.

  • Added `npm run test:indexability` for production or configurable-base URL checks.
  • Checks sitemap index and sampled child sitemap partitions.
  • Checks homepage, guides, catalog, programmatic verdict quality signals, JSON-LD, and API access behavior.
2026-05-19

Model-to-verdict crawl paths

v2026.05.19-11

This release links catalog model pages to matching high-value flight verdict checks, creating a deeper crawl path from catalog content into programmatic verdict pages.

  • Added model-filtered popular flight checks to catalog model pages.
  • Exposed those model-specific verdict links as ItemList JSON-LD.
  • Reused the curated popular-verdict dataset so homepage, guides, and catalog pages stay aligned.
2026-05-19

Popular verdict internal links

v2026.05.19-10

This release adds curated internal links to high-value programmatic verdict pages from the homepage and guide hub.

  • Added a shared popular-verdict dataset for curated crawl paths.
  • Linked 8 high-intent `/p/...` verdict pages from the homepage.
  • Linked the same verdict checks from `/guides` and exposed them in CollectionPage JSON-LD.
2026-05-19

Programmatic verdict page quality signals

v2026.05.19-9

This release strengthens programmatic verdict pages with visible review metadata, richer reasoning, preparation guidance, and structured FAQ/breadcrumb data.

  • Added visible last-reviewed, ruleset, source-count, and source-integrity indicators to `/p/...` pages.
  • Added route-specific reasoning and security-preparation sections to reduce thin-page risk.
  • Added FAQPage and BreadcrumbList JSON-LD plus stable Article review metadata.
2026-05-19

Static sitemap assets

v2026.05.19-8

This release serves the sitemap index and partitions as static XML assets so crawlers do not hit Worker generation limits.

  • Generated `/sitemap.xml` and `/sitemap/*.xml` at build time as Cloudflare static assets.
  • Removed dynamic Next sitemap generation from the production request path.
  • Kept the single Search Console submission target as `/sitemap.xml`.
2026-05-19

Smaller sitemap partitions

v2026.05.19-7

This release reduces sitemap chunk size so Search Console can fetch every partition more reliably.

  • Reduced sitemap partition size from 5,000 URLs to 1,000 URLs per file.
  • Kept `/sitemap.xml` as the single sitemap index submission target.
  • Lowered first-fetch XML generation size for crawler reliability on Cloudflare.
2026-05-19

Sitemap chunk generation fix

v2026.05.19-6

This release makes sitemap chunks generate only their own URLs so search engines can reliably fetch all sitemap partitions.

  • Changed `/sitemap/[id].xml` generation from full-list-then-slice to chunk-only emission.
  • Reduced Cloudflare CPU work for late sitemap chunks such as `/sitemap/7.xml`.
  • Kept the sitemap index shape unchanged: `/sitemap.xml` still lists 8 partitions.
2026-05-19

Guide quality signals

v2026.05.19-5

This release strengthens guide-page trust signals for search indexing and answer-engine extraction.

  • Added visible last-reviewed, ruleset version, and reviewer information to each guide page.
  • Extended guide Article JSON-LD with datePublished, dateModified, reviewedBy, and ruleset/source references.
  • Clarified the sources block so users and crawlers see how guide claims relate to the source integrity release gate.
2026-05-19

AEO traveler guide pages

v2026.05.19-4

This release adds citable short-answer guide pages for high-value power-bank flight questions.

  • Added a `/guides` index plus 8 guide pages for power-bank flight rules, Wh limits, China 3C, Thailand mAh cap, Korea rules, checked baggage, label evidence, and recalls.
  • Added Article, FAQPage, BreadcrumbList, and CollectionPage JSON-LD so answer engines can extract short answers cleanly.
  • Linked guides from the homepage and navigation so crawler discovery does not depend only on sitemap URLs.
  • Included guide URLs in the sitemap and refreshed `llms.txt` with preferred AI citation targets.
2026-05-19

Source integrity release gate

v2026.05.19-3

This release hardens CertiWatt’s publishing flow so public verdicts only cite reachable, real sources.

  • Added an active-rule citation audit to reject placeholder URLs, unreachable sources, and homepage/canonical fallbacks.
  • Hardened live source probing with retry behavior and final/canonical URL detection.
  • Deactivated airline-specific rules whose official source pages were blocked, missing, or not verifiably reachable.
  • Updated the deployment playbook, one-command deploy script, and CI preflight to share the same release gate.
  • Documented the live source probe and post-deploy smoke check so future releases can be verified without relying on chat history.
2026-05-19

SEO and AEO coverage refresh

v2026.05.19-2

This release refreshes search, answer-engine, and sitemap coverage around the battery-compliance verdict engine direction.

  • Expanded the sitemap to derive programmatic verdict URLs from the active catalog, airline, and jurisdiction data.
  • Refreshed `llms.txt` with current positioning, coverage, API routes, MCP tools, and AI citation guidance.
  • Updated JSON-LD so answer engines understand CertiWatt as a cited battery-compliance verdict engine.
  • Added structured data to `/developers` and `/partners` for API, MCP, and B2B integration discovery.
  • Synced robots policy for search and AI crawlers while keeping internal API and admin paths blocked.
2026-05-19

Compliance engine positioning

v2026.05.19-1

This release moves CertiWatt toward a cited battery-compliance verdict engine with clearer partner, API, and legal boundaries.

  • Added public `/developers` and `/partners` surfaces for API, agent, and B2B integration paths.
  • Reframed the homepage and documentation around cited battery-compliance verdicts for air travel.
  • Renamed `/compliance` messaging to a Public Operating Scorecard so it is not confused with regulatory certification.
  • Added real credential validation for partner API keys and bearer tokens while keeping anonymous traveler calls available.
  • Recorded the current product direction in `phase-5/product-direction.md` for future handoffs.
2026-05-18

Cross-agent distribution prep

v2026.05.18-7

This release prepares CertiWatt for broader agent discovery beyond Codex while keeping one canonical MCP backend.

  • Added a reusable Hermes-compatible `certiwatt` skill that teaches agents when and how to use the published MCP server.
  • Expanded the shared agent-bundle documentation for OpenClaw / ClawHub installation and verification.
  • Updated the public MCP page to describe OpenClaw distribution, Hermes-compatible usage, and the shared package setup.
  • Refreshed all four language variants so the MCP page no longer describes the server as repo-local or unpublished.
2026-05-18

Explicit proprietary license metadata

v2026.05.18-6

This release keeps the package proprietary while making the npm metadata point readers to the actual bundled legal terms.

  • Switched the npm license field from `UNLICENSED` to `SEE LICENSE IN LICENSE`.
  • Kept the proprietary `LICENSE` file as the source of the package terms.
  • Preserved the new npm discovery keywords added in the previous release.
  • Bumped the public package to `@certiwatt/mcp@0.1.4`.
2026-05-18

Sharper npm package metadata

v2026.05.18-5

This release makes the published MCP package easier to understand and easier to discover in npm search.

  • Switched the npm license field to canonical proprietary metadata: `UNLICENSED`.
  • Kept the explicit proprietary `LICENSE` file in the package so the legal terms remain visible.
  • Added npm search keywords for MCP, Model Context Protocol, power banks, batteries, travel, aviation, flight safety, and verification.
  • Bumped the public package to `@certiwatt/mcp@0.1.3`.
2026-05-18

Cleaner public MCP packaging

v2026.05.18-4

This release removes two rough edges from the first public MCP package so the external story matches the actual product behavior.

  • Clarified that the published MCP server uses the live CertiWatt API by default; localhost is only a development override.
  • Simplified the public `/mcp` setup example to the real production launch command: `npx -y @certiwatt/mcp`.
  • Replaced ambiguous npm `UNLICENSED` metadata with an explicit proprietary license file and package declaration.
  • Bumped the npm package to `@certiwatt/mcp@0.1.2` for the corrected public metadata.
2026-05-18

Portable MCP distribution

v2026.05.18-3

This release publishes the MCP server as an npm package and switches the plugin from repo-local wiring to a portable install path.

  • Published `@certiwatt/mcp@0.1.1` to npm.
  • Changed the plugin launcher to `npx -y @certiwatt/mcp` so it no longer depends on repository-relative paths.
  • Updated the MCP and plugin documentation to describe the live package instead of a future placeholder.
  • Kept the package intentionally small: roughly 6 kB packed / 22 kB unpacked.
2026-05-18

Public MCP guide

v2026.05.18-2

This release adds a public developer-facing MCP page so agents and integrators can understand the tools, flows, examples, and boundaries at a glance.

  • Added a new public `/mcp` page for external developers and agent builders.
  • Documented the five MCP tools, the recommended call flow, and representative prompts.
  • Added honest setup and limitation guidance instead of implying a hosted connector already exists.
  • Linked the page into desktop navigation, mobile navigation, and the sitemap.
  • Localized the new surface across English, Chinese, Korean, and Japanese.
2026-05-18

Rule discovery for agents

v2026.05.18-1

This release lets agents discover rules by topic before fetching their sources, closing the last known MCP evaluation gap.

  • Added a rule-search API for regulatory and airline-policy discovery.
  • Added the MCP `search_rules` tool so agents can resolve loose rule topics such as “China 3C rule”.
  • Prioritized regulator rules over airline overlays when multiple rule matches are relevant.
  • Tightened MCP routing guidance so product, recall, related-model, and rule questions choose the right tools.
  • Moved the full real-agent eval suite to 16/16 passing with zero known gaps.
2026-05-17

Safer checked-baggage verdicts and cleaner agent testing

v2026.05.17-4

This release closes a real verifier edge case found by agent evaluation and makes the MCP eval harness more trustworthy.

  • Checked-baggage intent now returns a banned verdict whenever a carry-on-only rule applies.
  • Added a regression case so carry-on-only rules cannot silently drift back to an allowed checked-baggage result.
  • Normalized catalog search so queries like “Anker 525” resolve reliably.
  • Improved MCP no-match guidance for unknown models.
  • Isolated agent eval runs from the repository so they measure MCP capability rather than local file access.
2026-05-17

API groundwork for agent integrations

v2026.05.17-3

This release turns more of CertiWatt into reusable platform capabilities for future MCP and agent integrations.

  • Extracted shared model and source domain services so web pages and APIs use one canonical implementation.
  • Added model-detail and normalized source APIs for future agent tooling.
  • Extended model detail API responses with related-model groups already used by the catalog UI.
  • Added a first MCP server MVP with search, model lookup, verification, and source tools.
  • Improved MCP tool guidance and structured domain-gap responses for agent-friendly behavior.
2026-05-17

Sharing, related models, and release history

v2026.05.17-2

This release improves how CertiWatt is shared, explored, and tracked over time.

  • Replaced the Open Graph / Twitter sharing image with a site-matching screenshot card.
  • Added related-model sections to model pages for same-brand, nearby-Wh, and near-limit browsing.
  • Added related-model ItemList JSON-LD to strengthen internal entity relationships.
  • Improved the catalog filter layout on narrow screens so the search field stays usable.
  • Added a localized changelog system so future deployments can carry human-readable release notes.
2026-05-17

Catalog discovery and trust upgrade

v2026.05.17-1

This release turns the catalog into a more complete browsing and verification surface.

  • Added brand pages, brand index cards, and richer catalog sorting.
  • Added model detail pages with evidence, flight guidance, and related models.
  • Added Product, CollectionPage, BreadcrumbList, and related-model JSON-LD.
  • Improved the catalog-to-verifier flow with prefilled model handoff.
  • Replaced the social sharing image with a site-matching Open Graph card.