Verifier
CertiWattWh
en

Changelog

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

2026-06-28

Airline official-source coverage refresh

v2026.06.28-1

This production data release promotes the latest airline-owned battery policy sources and refreshes public coverage counts.

  • Upgrades Loong Air to airline-official coverage using its official dangerous-goods table exposed through Loong Air's Weixin SPA static source.
  • Adds an active Loong Air power-bank rule for checked-baggage prohibition, 100 Wh / 160 Wh bands, carrier approval, two-unit handling above 100 Wh, short-circuit protection, and in-flight switch-off/no-use requirements.
  • Keeps CAAC China-departure 3C and recall screening attached separately where airline pages do not publish those fields.
  • Refreshes public airline coverage to 167 airline-official, 89 market-regulator-backed, and 144 IATA-baseline-backed profiles.
  • Updates active airline citation-source coverage and source-monitoring baselines for the new Loong Air official source.
  • Preserves the current source-monitoring review signals while keeping red source failures at zero.
2026-06-26

Source-monitoring ingest refresh

v2026.06.26-1

This production data refresh updates source-monitoring state, citation reachability, and generated discovery manifests.

  • Runs live ingest against the active regulator, airline, and recall watch sources.
  • Fixes ingest marker handling so numeric YAML markers such as 100 and 160 do not crash content verification.
  • Moves the stale FlySafair Prismic CMS source out of automated monitoring after the stored API ref began returning HTTP 404.
  • Keeps FlySafair coverage on the IATA baseline while preserving its airline-owned page as manual-reviewed context.
  • Converts eight airline source rows from legacy expected_markers to active content_expectations and accepts their verified baselines.
  • Updates public airline coverage to 133 airline-official, 122 market-regulator-backed, and 145 IATA-baseline-backed profiles.
  • Refreshes AEO and GSC manifests while preserving pending review signals for UK CAA, HK Express, Vietnam Airlines, INIU, CPSC, and known failing/manual-review sources.
2026-06-22

Catalog collection Worker-limit hotfix

v2026.06.22-1

This production hotfix moves the heavy /catalog collection page off per-request Worker rendering so large catalog coverage no longer trips Cloudflare resource limits.

  • Changes /catalog from forced dynamic rendering to a lightweight static/ISR shell with a one-hour revalidation window.
  • Moves catalog filtering, sorting, pagination, and brand grouping to a client browser backed by the static public-data models.json snapshot, so large model/configuration aggregation is not repeated inside the Worker for every request.
  • Applies the same lightweight public-data browser pattern to /brand/[brand] hubs so brand click-throughs no longer re-run catalog aggregation inside the Worker.
  • Preserves catalog detail pages, brand hubs, public-data, AEO, GSC tracking, and sitemap surfaces without changing catalog counts.
  • Keeps the deeper client/API catalog-filtering cleanup as a follow-up; this hotfix prioritizes restoring a reliable public catalog route.
2026-06-19

Catalog configuration deduplication

v2026.06.19-1

This production release makes public catalog counting configuration-based instead of color/SKU-based.

  • Folds 7,032 raw catalog variants into 3,250 public battery configurations.
  • Treats same-brand, same-family, same-capacity, same-voltage, same-Wh color/SKU variants as one catalog configuration.
  • Cleans public catalog names and slugs so source typos, repeated brand prefixes, and repeated colors do not leak into public snapshots.
  • Redirects same-configuration variant catalog URLs to the representative catalog page instead of generating separate crawlable pages.
  • Updates public-data, brand hubs, sitemap, AEO manifest, and catalog detail pages to expose configuration counts, variant counts, and review-queue counts honestly.
2026-06-17

Canadian regional airline policy upgrades

v2026.06.17-1

This production release promotes the latest official airline-owned battery policy sources and keeps public coverage counts honest.

  • Upgrades Air Inuit, Central Mountain Air, and Pacific Coastal Airlines from Canada regulator-backed coverage to airline-official policy coverage.
  • Adds active airline-owned rules for Air Inuit external batteries, Central Mountain Air lithium battery packs, and Pacific Coastal loose lithium batteries.
  • Preserves conservative modeling where airline pages omit Wh, quantity, approval, or recall fields, keeping those details on Canada/CATSA and IATA baselines.
  • Moves public airline coverage to 131 official, 125 market-regulator-backed, 144 IATA-baseline-backed, and 0 needs-review records.
  • Refreshes airline source monitoring, citation baselines, public-data snapshots, and compliance/audit documentation for the new official sources.
2026-06-15

3C evidence gaps return Insufficient

v2026.06.15-7

This production release separates missing catalog evidence from proven China 3C non-compliance.

  • Changes China 3C certification-required verdicts with no verified catalog or traveler-declared 3C evidence from Banned to Insufficient.
  • Keeps explicit traveler-declared absent 3C marks as Banned for China-related routes.
  • Treats unclear 3C marks as an evidence-verification path with verify_3c_body_mark_or_qr, not a hard ban.
  • Adds certification_evidence_missing and check_3c_body_mark so API clients can distinguish evidence gaps from true prohibitions.
  • Updates P0 regression coverage so missing evidence cannot regress back to a Banned verdict.
2026-06-15

Interactive 3C and Korea decision gates

v2026.06.15-6

This production release turns China 3C and Korea handling from passive context into explicit verifier decision gates.

  • Shows the 3C / CCC mark question only when the trip touches a China departure or transit context.
  • Requires travelers to answer the 3C / CCC question on China-related verifier flows before submitting.
  • Keeps visible 3C declarations as a separate allowed-path input, while absent marks continue to trigger the China 3C ban.
  • Gives unclear 3C marks their own warning and verify_3c_body_mark_or_qr action instead of collapsing them into a generic missing-certification reason.
  • Keeps Korea/Korean-carrier handling as an interactive confirmation: unconfirmed handling is conditional; confirmed handling can clear ordinary under-100Wh cases.
2026-06-15

Manual capacity verifier fallback

v2026.06.15-5

This production release promotes manual capacity entry from a hidden catalog fallback into a visible verifier path for travelers who do not know the exact power-bank model.

  • Adds a fixed “Don’t know the model?” entry point in the public verifier device step.
  • Lets travelers continue with printed Wh, or mAh plus voltage, without first forcing a failed catalog search.
  • Keeps the existing catalog verdict path unchanged when an exact model is selected.
  • Hydrates manual_wh, manual_mah, manual_v, and label_legible query parameters into the verifier form when they are present.
  • Preserves the same route, airline, China 3C, Korea handling, and label-legibility checks for manually entered devices.
2026-06-15

Searchable airline combobox

v2026.06.15-4

This production release replaces the verifier airline selector with a searchable combobox so the public form can search all 400 carriers without rendering a long native dropdown.

  • Replaces the separate airline search input plus native select with one accessible combobox.
  • Keeps the full 400-carrier catalog searchable by airline name, localized label, or IATA code.
  • Preserves IATA-code state for verifier requests, Korea handling logic, and airline policy preview.
  • Adds keyboard support for ArrowUp, ArrowDown, Enter, and Escape.
  • Avoids adding a new dropdown library or large client dependency for this single control.
2026-06-15

Regional recall source watch

v2026.06.15-3

This production release expands Battery Recall Intelligence source coverage beyond the existing CPSC/manufacturer surface by exposing regional recall monitors for China, the EU, and Korea.

  • Adds SAMR / Defective Product Administrative Center, EU Safety Gate/RAPEX, and Korea Product Safety recall monitors to the operational source registry.
  • Exposes source_watch on /api/recalls and /api/devices/[modelId]/recalls so partners can see which regional recall sources are monitored.
  • Updates /recalls to show regional recall source-watch status and the exact-model promotion rule.
  • Keeps active recall verdict effects model-specific; regional source monitoring does not create brand-level recall inference or verdict changes without exact model evidence.
  • Updates OpenAPI and recall regression tests so the new source-watch contract is guarded.
2026-06-15

Verifier trust and source-freshness hardening

v2026.06.15-2

This production release ships the verdict-surface and verifier hardening pass for near-threshold capacity, source freshness, Korea handling, policy-source tiering, and public form performance.

  • Adds airline_policy.policy_source_tier so partners can distinguish airline-official, regulator-backed, and IATA-baseline policy decisions.
  • Counts the applied airline policy citation in verdict source audit trails instead of claiming airline policy without including the source.
  • Changes source freshness from one global threshold to source-type SLAs, and shows citation age versus SLA on verdict source lists.
  • Adds Korea/Korean-carrier handling confirmation for public verifier flows and API trips; unconfirmed Korea handling returns a conditional warning rather than an overconfident cleared result.
  • Keeps printed Wh/manufacturer evidence ahead of derived mAh estimates, especially for 95-105 Wh boundary cases.
  • Adds public verdict correction links, recall sync timestamp copy, page-level OG locale coverage, multi-transit verifier UI, and reduced airline-select rendering.
  • Cleans guide copy so two power banks are framed as an airline-specific planning assumption, not a universal ICAO/IATA quantity cap.
2026-06-15

Public trust and AEO cleanup

v2026.06.15-1

This release tightens public trust surfaces after the verdict, recall, API, and AEO consistency cleanup.

  • Keeps near-duplicate China 3C support guides reachable for users while marking them noindex, follow and canonicalizing them to primary hubs.
  • Removes support guides from the AEO manifest, GSC tracking manifest, priority sitemap, full sitemap, homepage guide links, and guide index.
  • Updates AEO/GSC/sitemap baselines to 33 primary question guides, 123 brand hubs, 58 long-tail verdicts, 2 datasets, 247 GSC tracking URLs, 30,554 sitemap URLs, and 125 priority sitemap URLs.
  • Adds recall coverage boundary copy stating that the public recall set is not a complete global recall database.
  • Tones down Partner API, reviewed policy field, SLA, and production-support copy so public pages do not overstate anonymous API guarantees.
  • Keeps traveler activity framed as delayed aggregate activity, not a live visitor counter, and updates indexability tests to guard that wording.
2026-06-14

Airlink official-source upgrade

v2026.06.14-16

This local-only release upgrades Airlink after confirming its official Hand & Cabin Baggage page exposes passenger power-bank policy text.

  • Upgrades Airlink from IATA-baseline-backed coverage to official using its airline-owned Hand & Cabin Baggage page.
  • Adds active rule 4z.policy.2026.airlink-hand-cabin-power-banks for Airlink's cabin-only power-bank controls.
  • Records Airlink's limits: not more than two power banks, and not exceeding 100 watt-hours per power bank.
  • Records Airlink's onboard handling text: if a power bank is used to charge other allowed electronic devices, it must be kept in view and must not be stowed in a carry-on bag or overhead bin while charging.
  • Keeps airline-4z source monitoring manual-reviewed because full ingest batch requests can receive an Incapsula interstitial even though browser-user-agent extraction exposes the official policy text.
  • Moves the public airline coverage split to 120 airline-official, 130 market-regulator-backed, 150 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Moves active rules to 95, including 68 active airline policy rules.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

FlySafair official-source upgrade

v2026.06.14-15

This local-only release upgrades FlySafair after confirming its airline-owned CMS exposes power-bank and lithium-battery policy text behind the public prohibited-items route.

  • Upgrades FlySafair from IATA-baseline-backed coverage to official using its airline-owned Prismic luggage-policy content.
  • Adds active rule fa.policy.2026.flysafair-lithium-power-banks for the official FlySafair controls exposed in the CMS: power banks and spare lithium-ion batteries are not permitted in checked baggage and must be carried in hand luggage only.
  • Records FlySafair's approval field from the CMS: batteries over 100 Wh may require prior airline approval.
  • Keeps the rendered linked FlySafair Battery Guidelines as manual confirmation for 100 Wh / 160 Wh detail, but keeps automated source monitoring on the fetch-stable CMS endpoint.
  • Moves the public airline coverage split to 119 airline-official, 130 market-regulator-backed, 151 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Moves active rules to 94, including 67 active airline policy rules.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Egyptair official-source upgrade

v2026.06.14-14

This local-only release upgrades Egyptair after reviewing rendered official restricted-items page evidence.

  • Upgrades Egyptair from IATA-baseline-backed coverage to official using its airline-owned restricted-items page.
  • Records Egyptair power-bank handling: each passenger may carry one 100-watt power bank in carry-on/personal baggage.
  • Records Egyptair checked-baggage and label controls: power banks are not allowed in checked baggage under any circumstances, and power banks without written capacity and type information are prohibited.
  • Records Egyptair onboard and storage controls: power banks may not be used or charged in flight, may not be connected to the aircraft power supply, and must be kept in the seat pocket or in a bag under the seat in front of the passenger.
  • Keeps airline-ms source monitoring manual-reviewed because local automated curl returns HTTP 403 even though the rendered official page exposes the policy text.
  • Moves the public airline coverage split to 118 airline-official, 130 market-regulator-backed, 152 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Eastern Airways ceased-operations cleanup

v2026.06.14-13

This local-only release retires Eastern Airways from live v1 public airline surfaces after confirming the carrier is no longer operating.

  • Marks Eastern Airways / T3 as a historical ceased-operations profile after public reports state all flight operations were suspended on 2025-10-27 and the company entered administration on 2025-11-06.
  • Sets v1: false for Eastern Airways so it is no longer treated as a live public airline page or sitemap target.
  • Keeps the T3 registry record for historical/code compatibility and preserves its UK CAA market-regulator-backed baggage policy context for legacy lookup.
  • Removes Eastern Airways from the live official-source discovery backlog; do not continue searching for a battery-policy upgrade unless the carrier restarts operations or a successor operating certificate/source is identified.
  • Keeps the 400-airline registry and source-backed coverage counts stable; this is an operations-status cleanup, not an airline policy upgrade.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

KM Malta Airlines official-source upgrade

v2026.06.14-12

This local-only release upgrades KM Malta Airlines after confirming its official Lithium Batteries policy page exposes passenger power-bank and lithium-battery policy text.

  • Upgrades KM Malta Airlines from EASA market-regulator-backed coverage to official using its airline-owned Lithium Batteries policy page.
  • Records KM Malta power-bank handling: power banks are forbidden in checked baggage, allowed only in carry-on baggage, capped at two per person, and limited to 100 Wh each.
  • Records KM Malta onboard and protection controls: power banks may not be charged or used to charge other devices during flight and must be protected from short circuit and unintentional activation.
  • Records KM Malta approval band: lithium batteries over 100 Wh through 160 Wh require prior approval through the KM Malta Airlines call centre; batteries over 160 Wh are forbidden in passenger baggage.
  • Keeps airline-km source monitoring manual-reviewed because local automated curl returns HTTP 403 even though rendered external extraction exposes the official policy text.
  • Moves the public airline coverage split to 117 airline-official, 130 market-regulator-backed, 153 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Eurowings official-source upgrade

v2026.06.14-11

This local-only release upgrades Eurowings after reviewing rendered official dangerous-goods page evidence.

  • Upgrades Eurowings from EASA market-regulator-backed coverage to official using its airline-owned dangerous-goods page.
  • Records Eurowings 15 January 2026 power-bank notice: each guest may bring up to two power banks on board.
  • Records Eurowings power-bank table: power banks are not permitted in checked baggage, are permitted in hand baggage / passenger cabin, are capped at two units up to 100 Wh without transport approval, and capped at two units over 100 Wh up to 160 Wh with transport approval required.
  • Records Eurowings onboard and storage controls: power banks may not be charged or used onboard except with approved medical devices, must be kept in the seat pocket, on the passenger, or in hand baggage under the front seat, and may not be stored in overhead bins.
  • Keeps airline-ew source monitoring manual-reviewed because local automated curl returns HTTP 403 even though the rendered official page exposes the policy text.
  • Moves the public airline coverage split to 116 airline-official, 131 market-regulator-backed, 153 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

LOT Polish Airlines official-source upgrade

v2026.06.14-10

This local-only release upgrades LOT Polish Airlines after confirming its official hazardous-materials page exposes passenger spare-battery and power-bank policy text.

  • Upgrades LOT Polish Airlines from EASA market-regulator-backed coverage to official using its airline-owned hazardous-materials page.
  • Records LOT spare-battery and power-bank handling: items primarily intended as power sources are considered spare batteries, spare batteries and batteries for portable electronic devices may only be transported in carry-on luggage, checked baggage is prohibited, and terminals must be protected against short circuit.
  • Records LOT capacity and quantity fields: lithium-ion spare batteries must not exceed 100 Wh, each passenger may carry a maximum of two power banks up to 100 Wh, and each passenger may carry a maximum of 20 spare batteries of other types.
  • Records LOT 100-160 Wh PED/PMED spare-battery path: maximum two spare batteries in hand luggage only, with carrier consent required.
  • Keeps airline-lo source monitoring manual-reviewed because local automated curl returns an Akamai WAF block page even though rendered external extraction exposes the official policy text.
  • Moves the public airline coverage split to 115 airline-official, 132 market-regulator-backed, 153 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Nepal Airlines official-source upgrade

v2026.06.14-09

This local-only release upgrades Nepal Airlines after confirming its official Provision for Dangerous Goods page exposes passenger lithium-battery and power-bank policy text.

  • Upgrades Nepal Airlines from IATA-baseline-backed coverage to official using its official dangerous-goods page.
  • Adds an active Nepal Airlines airline rule for spare/loose lithium batteries and power banks: power banks are treated as spare batteries, spare batteries are carry-on baggage only, checked baggage is not allowed for spares, and short-circuit protection is required.
  • Models Nepal Airlines Wh bands: ordinary lithium-ion spare batteries must not exceed 100 Wh; over-100 Wh through 160 Wh spare batteries including power banks are limited to two in carry-on baggage; power banks over 160 Wh or without clear rating identification are not allowed on board.
  • Adds Nepal Airlines onboard-use controls: power banks and spare batteries must not be used to charge another electronic device and must not be charged in flight.
  • Adds active source monitoring for airline-ra.
  • Moves active rules from 92 to 93.
  • Moves the public airline coverage split to 114 airline-official, 133 market-regulator-backed, 153 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Air Do quantity-band refinement

v2026.06.14-08

This local-only release refines Air Do's official-source rule after reviewing rendered AIRDO baggage-restrictions evidence.

  • Keeps Air Do as official; this is a precision correction, not a coverage-count change.
  • Refines the Air Do active airline rule so the two-unit cap applies to spare batteries and mobile batteries over 100 Wh and up to 160 Wh, instead of implying every mobile battery up to 160 Wh is capped at two.
  • Keeps Air Do carry-on-only handling, checked-baggage prohibition, over-160 Wh prohibition, no aircraft-power charging, no device charging from power banks, no overhead-bin storage, close-at-hand storage, and short-circuit-protection controls.
  • Keeps the public airline coverage split at 113 airline-official, 133 market-regulator-backed, 154 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Capacity boundary and derived-Wh correction

v2026.06.14-07

This production hotfix makes capacity verdicts and programmatic verdict pages use the same two-decimal Wh value and conservative label-confirmation logic near the 100 Wh and 160 Wh limits.

  • Adds a configurable 5 Wh capacity boundary band around the 100 Wh and 160 Wh aviation thresholds.
  • Distinguishes label-confirmed Wh values from mAh × voltage derived Wh values, defaulting unknown evidence to derived for conservative handling.
  • Keeps label-confirmed devices at or below 95 Wh as clean Allowed verdicts without unnecessary threshold warnings.
  • Keeps near-threshold or derived under-100 Wh devices Allowed but asks travelers to confirm the printed Wh label.
  • Treats derived 100-105 Wh devices as Conditional with printed-label confirmation because the label may still read at or below 100 Wh.
  • Mirrors the same derived-label caution around the 160 Wh boundary.
  • Corrects Anker Prime Power Bank (27K, 250W) from snapped 100.0 Wh display to the 99.54 Wh derived value so the displayed formula and Wh value match.
  • Fixes programmatic verdict-page copy so margins are rendered as below, exactly on, or over the 100 Wh limit instead of saying “0.0 Wh below.”
  • Regenerates public data, AEO manifest, GSC tracking, sitemap files, and static /p/ build output so cached SEO verdict pages pick up the new capacity wording.
2026-06-14

ZIPAIR Tokyo official-source upgrade

v2026.06.14-06

This local-only release upgrades one Japan market-regulator-backed profile after confirming ZIPAIR Tokyo's official Dangerous Goods List and Label PDF.

  • Upgrades ZIPAIR Tokyo from market-regulator-backed coverage to official using its July 2025 official dangerous-goods PDF.
  • Adds an active ZIPAIR airline rule for spare lithium-ion batteries and power banks: carry-on-only handling, no checked baggage, short-circuit protection, no listed quantity limit up to about 100 Wh, and a two-battery limit over 100 Wh and up to 160 Wh.
  • Treats power banks as spare batteries for ZIPAIR because the official PDF says articles capable of sharing power, including power banks, are considered spare batteries.
  • Keeps ZIPAIR source monitoring manual-reviewed because the PDF requires a ZIPAIR baggage-page referer and the ingest pipeline does not parse PDF tables.
  • Updates citation audit with a narrow ZIPAIR PDF referer so the official PDF can be fetched without weakening other citation checks.
  • Moves active rules from 91 to 92 and citation-audited unique URLs from 68 to 69.
  • Moves the public airline coverage split to 113 airline-official, 133 market-regulator-backed, 154 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Threshold verdict and public-claim cleanup

v2026.06.14-05

This production hotfix makes boundary-capacity verdicts, source-monitor presentation, airline coverage, EU/EASA scope, and 2026 quantity claims less overconfident.

  • Changes exact or near-exact 100 Wh power-bank verdicts from Allowed to Conditional, with readable-label or manufacturer-evidence handling.
  • Removes global source-monitor red/green/total count chips from verdict pages; verdict pages now show only citations used for that answer.
  • Changes homepage coverage copy to 128 departure-country profiles plus an EU/EASA guidance anchor, and separates 113 airline-owned policies from 133 market-regulator-backed and 154 IATA-baseline profiles.
  • Removes European Union from traveler origin/destination selectors while preserving it internally as an EASA guidance anchor.
  • Tightens guide, FAQ JSON-LD, llms.txt, and API airline-policy wording so two power banks is not presented as a universal ICAO/IATA hard cap.
2026-06-14

IBEX Airlines official-source upgrade

v2026.06.14-04

This local-only release upgrades one Japan market-regulator-backed profile after confirming IBEX Airlines' official baggage page and its lithium-battery table.

  • Upgrades IBEX Airlines from market-regulator-backed coverage to official using its official baggage page.
  • Adds an active IBEX Airlines airline rule for spare batteries, including mobile batteries: carry-on-only handling, no checked baggage, 100 Wh / 160 Wh bands, and a maximum two spare lithium-ion batteries per passenger in the 100-160 Wh band.
  • Adds a narrow citation/ingest exception for the IBEX baggage URL because the page canonical points to the homepage; the exception is accepted only when the expected IBEX lithium-battery table markers are present.
  • Adds active source monitoring for airline-fw, with verified content fingerprint monitoring.
  • Moves active rules from 90 to 91 and citation-audited unique URLs from 67 to 68.
  • Moves the public airline coverage split to 112 airline-official, 134 market-regulator-backed, 154 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Air Macau official-source upgrade

v2026.06.14-03

This local-only release upgrades one Macau IATA-baseline-backed profile after confirming a readable Air Macau official lithium-battery table image.

  • Upgrades Air Macau from IATA-baseline-backed coverage to official using its official lithium-battery table image.
  • Adds an active Air Macau airline rule for spare lithium batteries and power banks: carry-on-only spare-battery handling, no check-in baggage for spares, short-circuit protection, readable capacity-label requirement, 100 Wh / 160 Wh bands, carrier approval for 100-160 Wh, and a maximum two spare batteries per person in the 100-160 Wh band.
  • Records Air Macau no-label handling: batteries with no indication, no label, or unknown rating are not allowed.
  • Keeps the Air Macau source as manual-reviewed official monitoring because the airline-owned source is a JPEG image rather than parseable HTML.
  • Moves active rules from 89 to 90 and citation-audited unique URLs from 66 to 67.
  • Moves the public airline coverage split to 111 airline-official, 135 market-regulator-backed, 154 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-14

Verdict freshness and guide-claim tightening

v2026.06.14-02

This hotfix makes public verdict and guide surfaces less overconfident where source monitoring, EU/EASA scope, or quantity claims could be misread.

  • Re-labels the verdict-page provenance block so global source-monitor counts are not presented as the exact verdict citation integrity.
  • Adds plain-language date labels for ruleset version, generated verdict time, latest citation/monitor ingest, and the re-check boundary.
  • Stops using the European Union as an indexed long-tail departure country and changes the curated European near-100Wh example to a Switzerland/SWISS route.
  • Updates EU notes and EU verdict-page fallback copy to describe EASA guidance as an area-level anchor, not a single departure-country rule.
  • Tightens guide copy so two power banks is presented as a conservative planning limit or airline-specific quantity check, not a universal ICAO/IATA hard cap.
2026-06-14

100Wh boundary and developer-page wording cleanup

v2026.06.14-01

This hotfix makes near-threshold power-bank verdicts and developer-page positioning less overconfident.

  • Makes exact or effectively exact 100 Wh verdicts conditional when the Wh value is derived from mAh/voltage, so boundary cases no longer receive a pure green answer.
  • Exposes device_resolved.watt_hour_basis so API clients can distinguish manufacturer-stated, label-observed, and nominal-voltage-derived Wh values.
  • Fixes programmatic verdict pages so 100.0 Wh is described as exactly at the 100 Wh passenger power-bank limit, not as 0.0 Wh below it.
  • Stops showing mAh × voltage formulas for manufacturer-stated or label-observed Wh values; formula copy is now reserved for derived estimates.
  • Simplifies /developers commercial copy from internal/enterprise-heavy language into public API, partner pilot, and evidence-review boundaries.
2026-06-13

Compliance scorecard Worker resource hotfix

v2026.06.13-16

This production hotfix reduces /compliance runtime work so the public operating scorecard does not load the full ruleset inside the Cloudflare Worker on each request.

  • Changes /compliance to read build-time coverage, country, ingest, and golden-test snapshots instead of loading the full rule engine data at request time.
  • Removes per-request airline watchlist reconstruction from the page and derives the visible monitoring counters from lighter ingest and coverage summaries.
  • Keeps the same public scorecard facts visible: ruleset version, jurisdiction count, airline count, model count, public active rules, active recalls, source freshness, and review counters.
  • Keeps localized /compliance pages and public cache behavior intact while lowering Worker CPU and memory pressure.
  • Deploys as a production hotfix after the Wizz Air Abu Dhabi official-source release.
2026-06-13

Wizz Air Abu Dhabi official-source upgrade

v2026.06.13-15

This local-only release upgrades one United Arab Emirates IATA-baseline-backed profile after confirming a readable Wizz Air official restricted-items page.

  • Upgrades Wizz Air Abu Dhabi from IATA-baseline-backed coverage to official using Wizz Air's official restricted-items page.
  • Adds an active Wizz Air Abu Dhabi airline rule: power banks are not to be used during any phase of flight, should not be placed in checked baggage, must be continuously monitored, cannot be charged or used to charge another device during flight, and cannot be placed in overhead compartments.
  • Records Wizz Air stricter power-bank quantity and capacity controls: maximum 1 power bank per person and power banks exceeding 100 Wh are forbidden.
  • Records Wizz Air visible-rating handling: lithium batteries or power banks without clear Wh/lithium-content marks, or whose Wh rating cannot be calculated, are forbidden.
  • Moves active rules from 88 to 89 and airline policy rules from 61 to 62.
  • Moves the public airline coverage split to 110 airline-official, 135 market-regulator-backed, 155 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Greater Bay Airlines official-source upgrade

v2026.06.13-14

This local-only release upgrades one Hong Kong market-regulator-backed profile after confirming a readable Greater Bay Airlines official baggage page.

  • Upgrades Greater Bay Airlines from Hong Kong CAD market-regulator-backed coverage to official using its official baggage page under Important Information Regarding Lithium Batteries.
  • Adds an active Greater Bay Airlines airline rule for power banks: power banks are spare batteries, must be carry-on only, are not allowed in check-in baggage, are capped at two per passenger from 2026-03-28, may not be used to charge PEDs or recharged during flight, and may not be stowed in overhead compartments.
  • Records Greater Bay Airlines spare-battery Wh bands: up to 100 Wh spare batteries are capped at 20 pieces, 100-160 Wh spare batteries are capped at two pieces, and spare lithium-ion batteries over 160 Wh are forbidden.
  • Keeps Hong Kong CAD DGAC 2/2026 linked as Hong Kong-departure regulator support.
  • Moves active rules from 87 to 88 and airline policy rules from 60 to 61.
  • Moves the public airline coverage split to 109 airline-official, 135 market-regulator-backed, 156 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Gulf Air official-source upgrade

v2026.06.13-13

This local-only release upgrades one Bahrain IATA-baseline-backed profile after confirming readable Gulf Air official baggage pages.

  • Upgrades Gulf Air from IATA-baseline-backed coverage to official using its official prohibited-items and personal-items pages.
  • Adds an active Gulf Air model-specific airline rule for xiaomi-33w-20k-integrated-cable / Xiaomi PB2030MI: the Xiaomi 33W Power Bank 20000mAh with integrated cable is not permitted on Gulf Air flights in cabin or checked baggage.
  • Records Gulf Air smart-bag lithium-battery / lithium-battery power-bank handling: checked baggage requires battery removal and cabin carriage, cabin baggage requires a removable battery and the smart bag powered off, and non-removable-battery smart bags cannot be carried.
  • Keeps generic power-bank 100 Wh / 160 Wh bands explicitly backed by IATA because Gulf Air did not publish a general power-bank capacity table in the extracted official text.
  • Moves active rules from 86 to 87 and airline policy rules from 59 to 60.
  • Moves the public airline coverage split to 108 airline-official, 136 market-regulator-backed, 156 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Hong Kong Airlines official-source upgrade

v2026.06.13-12

This local-only release upgrades one Hong Kong market-regulator-backed profile after confirming a readable Hong Kong Airlines official baggage-restriction page.

  • Upgrades Hong Kong Airlines from Hong Kong CAD market-regulator-backed coverage to official using its official baggage-restriction page.
  • Adds an active Hong Kong Airlines airline rule for spare lithium batteries and portable battery chargers: no check-in baggage, carry-on-only handling, 20 pieces up to 100 Wh, two pieces over 100 Wh and up to 160 Wh, and over-160 Wh not allowed.
  • Keeps Hong Kong CAD DGAC 2/2026 active for Hong Kong-departure onboard power-bank recharging controls.
  • Moves active rules from 85 to 86 and airline policy rules from 58 to 59.
  • Moves the public airline coverage split to 107 airline-official, 136 market-regulator-backed, 157 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Oman Air rendered official-source upgrade

v2026.06.13-11

This local-only release upgrades one Oman IATA-baseline-backed profile after confirming rendered Oman Air official dangerous-goods policy evidence.

  • Upgrades Oman Air from IATA-baseline-backed coverage to official using rendered evidence from its official dangerous-goods policy page.
  • Records Oman Air lithium-ion-battery fields for wheelchair-battery checked-baggage handling, spare-battery hand-baggage handling, WY approval, one spare battery not exceeding 300 Wh, two spare batteries not exceeding 160 Wh each, and manufacturer battery-container handling.
  • Adds an inactive manual_reviewed_official Oman Air source row, but does not add an active airline-owned rule because the official URL still times out or blocks automated citation audit from this environment.
  • Moves the public airline coverage split to 106 airline-official, 137 market-regulator-backed, 157 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps active rules at 85 and airline policy rules at 58 until a stable audit-reachable Oman Air endpoint is available.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Tigerair Taiwan official-source upgrade

v2026.06.13-10

This local-only release upgrades one Taiwan IATA-baseline-backed profile after confirming readable Tigerair Taiwan airline-owned CMS policy content.

  • Upgrades Tigerair Taiwan from IATA-baseline-backed coverage to official using its official Strapi-backed baggage policy content and recalled-lithium-battery notice.
  • Adds an active Tigerair Taiwan airline rule for checked-baggage prohibition for spare lithium batteries and power banks, short-circuit protection, visible-label handling, onboard power-bank use prohibition on IT-operated flights, and recalled-lithium-battery transport prohibition.
  • Keeps generic 100 Wh / 160 Wh approval bands and the two-power-bank passenger baseline explicitly backed by IATA passenger lithium-battery guidance because Tigerair Taiwan publishes the main capacity/quantity table as an image.
  • Moves active rules from 84 to 85 and airline policy rules from 57 to 58.
  • Moves the public airline coverage split to 105 airline-official, 137 market-regulator-backed, 158 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

UNI Air official-source upgrade

v2026.06.13-09

This local-only release upgrades one Taiwan IATA-baseline-backed profile after confirming a readable UNI Air airline-owned power-bank notice.

  • Upgrades UNI Air from IATA-baseline-backed coverage to official using its official March 31, 2026 power-bank carrying notice.
  • Adds an active UNI Air airline rule for the airline-owned two-power-bank cap, checked-baggage prohibition for power banks and spare lithium batteries, on-person carry handling, no overhead-bin storage, no in-flight use or charging, and over-160 Wh prohibition.
  • Keeps 100 Wh / approval-band and short-circuit protection explicitly backed by IATA passenger lithium-battery guidance because those fields were not published in the UNI Air notice.
  • Moves active rules from 83 to 84 and airline policy rules from 56 to 57.
  • Moves the public airline coverage split to 104 airline-official, 137 market-regulator-backed, 159 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Air Do official-source upgrade

v2026.06.13-08

This local-only release upgrades one Japan market-regulator-backed profile after confirming a readable airline-owned restricted-items policy page.

  • Upgrades Air Do from Japan market-regulator-backed coverage to official using its official restricted-items page.
  • Adds an active Air Do airline rule for carry-on-only power-bank handling, checked-baggage prohibition, 160 Wh cap, two-unit cap, no aircraft-power charging, no device charging from power banks, no overhead-bin storage, at-hand/seat-pocket storage, and short-circuit protection.
  • Records IBEX Airlines as a blocked official-source lead: its official baggage page exposes spare-battery/mobile-battery fields, but citation audit rejects the URL because the page canonicalizes to the site homepage.
  • Moves active rules from 82 to 83 and airline policy rules from 55 to 56.
  • Moves the public airline coverage split to 103 airline-official, 137 market-regulator-backed, 160 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Peach Aviation official-source upgrade

v2026.06.13-07

This local-only release upgrades one Japan market-regulator-backed profile to airline-official coverage after confirming Peach Aviation's readable April 2026 mobile-battery rule-change notice.

  • Upgrades Peach Aviation from Japan market-regulator-backed coverage to official using its official mobile-battery notice.
  • Adds an active Peach Aviation airline rule for the airline-owned two-power-bank cap, 160 Wh limit, no in-cabin device charging from power banks, and no charging power banks from seat USB power.
  • Keeps checked-baggage prohibition, close-at-hand cabin handling, no overhead-bin storage, and short-circuit protection explicitly backed by Japan MLIT / JCAB market guidance because those fields were not published in the Peach notice.
  • Moves active rules from 81 to 82 and airline policy rules from 54 to 55.
  • Moves the public airline coverage split to 102 airline-official, 138 market-regulator-backed, 160 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Records Air Do's discovered April 24, 2026 official PDF as irrelevant to battery policy because it is a Golden Week reservation-status release, not a mobile-battery rule.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Mandarin Airlines official-source upgrade

v2026.06.13-06

This local-only release upgrades one Taiwan regulator-backed profile to airline-official coverage after confirming Mandarin Airlines' readable March 2026 power-bank notice.

  • Upgrades Mandarin Airlines from IATA regulator-backed coverage to official using its official power-bank notice.
  • Adds an active Mandarin Airlines airline rule for the airline-owned two-power-bank cap and in-flight power-bank use/charging prohibition.
  • Keeps carry-on-only handling, checked-baggage exclusion, 100 Wh / 160 Wh approval bands, and short-circuit protection explicitly backed by IATA passenger lithium-battery guidance because those fields were not published in the Mandarin notice.
  • Moves active rules from 80 to 81 and airline policy rules from 53 to 54.
  • Moves the public airline coverage split to 101 airline-official, 139 market-regulator-backed, 160 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Reconfirms Air Busan remains blocked by Cloudflare challenge pages and cannot be upgraded from automated evidence in this pass.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Japan Transocean Air official-source upgrade

v2026.06.13-05

This local-only release upgrades one Japan market-regulator-backed profile to airline-official coverage after confirming a readable Japan Transocean Air mobile-battery rule-change notice.

  • Upgrades Japan Transocean Air from Japan market-regulator-backed coverage to official using its official April 2026 mobile-battery notice.
  • Adds an active Japan Transocean Air airline rule backed by the JTA notice plus Japan MLIT / JCAB market guidance for checked-baggage prohibition, two-unit cap, 160 Wh cap, short-circuit protection, cabin handling, and in-flight charging/use restrictions.
  • Keeps the linked JAL Group detail page out of active citations because it returns HTTP 403 to automated citation audit, even though the JTA notice points passengers there for details.
  • Moves active rules from 79 to 80 and citation-audited unique URLs from 55 to 56.
  • Moves the public airline coverage split to 100 airline-official, 139 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Records Spring Airlines Japan as a still-blocked official-source lead because its readable official baggage pages expose no usable power-bank/mobile-battery policy fields.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

StarFlyer official-source upgrade

v2026.06.13-04

This local-only release upgrades one regulator-backed profile to airline-official coverage after confirming readable StarFlyer-owned power-bank policy text.

  • Upgrades StarFlyer from Japan market-regulator-backed coverage to official using its official restricted-baggage page.
  • Adds an active StarFlyer airline rule for checked-baggage prohibition, no overhead-bin storage, at-hand or seat-pocket handling, no in-flight power-bank use, no aircraft-power charging, and short-circuit insulation.
  • Keeps StarFlyer's 160 Wh and two-power-bank limits explicitly backed by the Japan MLIT / JCAB market rule because those fields were not extracted from direct StarFlyer text.
  • Moves active rules from 78 to 79 and airline policy rules from 52 to 53.
  • Moves the public airline coverage split to 99 airline-official, 140 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Records Cebu Pacific, Batik Air Malaysia, Air Macau, Tigerair Taiwan, Mandarin Airlines, UNI Air, Peach Aviation, Air Do, ZIPAIR, and IBEX as blocked or partial official-source leads where airline-owned policy text was missing, dynamic, WAF-protected, incomplete, or unreachable.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Skymark and Thai AirAsia active rule normalization

v2026.06.13-03

This local-only release converts three specific official profiles into active airline rules without inflating the official coverage count.

  • Adds active airline rules for Skymark Airlines, Thai AirAsia, and Thai AirAsia X from official baggage FAQ and carrier-code AirAsia support sources.
  • Models Skymark's carry-on-only spare lithium-ion battery handling, checked-baggage prohibition, short-circuit protection, 100 Wh / 160 Wh bands, and two-unit 100-160 Wh cap without inventing an under-100 Wh quantity cap.
  • Models Thai AirAsia's two-unit, 100 Wh power-bank cap, checked-baggage prohibition, short-circuit protection, and recalled-device handling without applying broader onboard-use text absent from the FD article body.
  • Models Thai AirAsia X's two-unit, 100 Wh cap, carry-on-only handling, no overhead-bin storage, on-person/seat-pocket/under-seat storage, and no onboard use or charging.
  • Moves active rules from 75 to 78 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Defers STARLUX, Solaseed Air, TAROM, Aegean, French Bee, and Air Caraibes because fresh checks returned 404, 500, 782, 403, or HTTP/2 errors.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Royal Brunei, Air Dolomiti, Condor, and SAA active rule normalization

v2026.06.13-02

This local-only release converts four specific official power-bank profiles into active airline rules without inflating the official coverage count.

  • Adds active airline rules for Royal Brunei Airlines, Air Dolomiti, Condor, and South African Airways from official baggage, battery, hazardous-goods, and restricted-items sources.
  • Models Royal Brunei's four-unit 100 Wh cap, two-unit 100-160 Wh prior-approval path, seat-pocket storage, no overhead-bin placement, and no onboard use or charging.
  • Models Air Dolomiti's two-unit cap, cabin-only handling, 100-160 Wh approval path, no overhead-bin placement, and no onboard use or charging.
  • Models Condor's carry-on-only hazardous-goods powerbank row and 100-160 Wh permission requirement without inventing a lower-band quantity cap.
  • Models SAA's 100 Wh / 27,000 mAh power-bank cap, carry-on-only handling, no overhead-bin placement, no inflight charging, and no taxi/takeoff/landing device powering.
  • Moves active rules from 71 to 75 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Activates the four source-registry entries after fresh reachability checks returned HTTP 200.
  • Defers SAS because the fresh official-page check returned HTTP 403.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-13

Verifier trust and public-surface remediation

v2026.06.13-01

This local-only release fixes high-risk verdict logic, citation wording, public API contracts, privacy surfaces, coverage honesty, and localized verifier copy found in the independent remediation audit.

  • Narrows China 3C enforcement to mainland-China domestic flights, removes the Thailand 20,000 mAh hard cap, corrects IATA 100-160 Wh citation wording, and normalizes near-threshold Wh catalog values.
  • Makes banned verdict pages lead with the actual blocking rule, preserves model-specific recall behavior, and adds recall-coverage transparency for brands without complete recall intelligence.
  • Enforces ruleset pins, effective-date attribution, deterministic verdict IDs, transit handling, ISO jurisdiction cleanup, pagination truncation metadata, airline coverage labels, and baseline-only notices.
  • Removes internal implementation notes from public developer/partner surfaces, keeps the disclosed analytics script separated from verifier inputs, adds explicit partner-origin CORS behavior, and delays/generalizes public activity records.
  • Localizes verifier reasons and zh-CN form copy, replaces inaccurate limit-adopter wording, clarifies destination assumptions, refreshes public-data/AEO artifacts, and keeps this pass local-only with no Cloudflare deploy.
2026-06-12

China Airlines, Malaysia Airlines, and AirAsia active rule normalization

v2026.06.12-05

This local-only release converts three specific official power-bank profiles into active airline rules without inflating the official coverage count.

  • Adds active airline rules for China Airlines, Malaysia Airlines, and AirAsia from official lithium-battery, power-bank, and PED support sources.
  • Keeps China Airlines power-bank handling strict to its dedicated table: up to 100 Wh only, two per passenger, carry-on only, and 101-160 Wh power banks not allowed as baggage.
  • Models Malaysia Airlines' explicit 100 Wh / 160 Wh approval path, two-unit cap, cabin-only storage, no overhead-bin placement, protective-pouch handling, and no onboard use or charging.
  • Models AirAsia's explicit two-unit, 100 Wh hard cap, no checked baggage, no overhead-bin storage, under-seat or seat-pocket storage, and no onboard use or charging.
  • Moves active rules from 68 to 71 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Activates the three source-registry entries after fresh reachability checks returned HTTP 200.
  • Defers Aegean because the fresh official-page check returned HTTP 403.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-12

Jetstar active rule normalization

v2026.06.12-04

This local-only release converts Jetstar's already-reviewed official power-bank profile into an active airline rule without inflating the official coverage count.

  • Adds an active airline rule for Jetstar from its official dangerous-goods power-bank page.
  • Repoints the JQ profile to an airline-owned rule ID while preserving route-country overlays such as CASA/IATA baseline handling.
  • Moves active rules from 67 to 68 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Uses the same official Jetstar URL already cited for Jetstar Japan, so active rule depth increases without claiming a new unique source URL.
  • Activates the Jetstar source-registry entry after a fresh reachability check returned HTTP 200.
  • Defers flydubai, Etihad, Turkish Airlines, KLM, United, Air India, and IndiGo because fresh checks timed out or returned HTTP/2 errors.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-12

Finnair, Virgin Atlantic, and Southwest active rule normalization

v2026.06.12-03

This local-only release converts three more already-reviewed official airline profiles into active airline rules without inflating the official coverage count.

  • Adds active airline rules for Finnair, Virgin Atlantic, and Southwest Airlines from official battery, dangerous-items, and lithium-battery help-center sources.
  • Repoints AY, VS, and WN profiles to airline-owned rule IDs while preserving route-country overlays such as EASA, UK CAA, TSA, and IATA.
  • Moves active rules from 64 to 67 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Activates the three source-registry entries after fresh reachability checks returned HTTP 200.
  • Defers Air Canada, KLM, Korean Air, Delta, Lufthansa, Air France, SWISS, Copa, and Hawaiian/Alaska-linked candidates because fresh checks returned 403/444/HTTP2 errors, redirected away from airline-owned evidence, or still had generic profile fields.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-12

Cathay policy summary cleanup

v2026.06.12-02

This production hotfix removes the last stale generic approval-band sentence from the Cathay policy summary returned inside verdict API responses.

  • Rewrites Cathay policy_summary so API consumers and agents no longer see generic 100-160 Wh lithium-battery approval language as a power-bank verdict summary.
  • Aligns Cathay source policy fields with the runtime 2026 passenger-facing 100 Wh wording instead of relying only on response-time sanitization.
  • Keeps Cathay two-power-bank quantity guidance visible while treating over-100 Wh power-bank handling as route- and airline-specific unless explicitly confirmed.
  • Adds a regression guard so Cathay summary and policy fields cannot reintroduce the old generic approval-band wording.
2026-06-12

Five-airline official rule normalization

v2026.06.12-01

This local-only release converts five already-reviewed official airline profiles into active airline rules, continuing the work of making official coverage enforceable rather than just listed.

  • Adds active airline rules for Vietnam Airlines, XiamenAir, Hainan Airlines, Juneyao Air, and Spring Airlines from their official restricted-baggage, dangerous-goods, lithium-battery, or power-bank sources.
  • Repoints VN, MF, HU, HO, and 9C profiles to airline-owned rule IDs while preserving existing CAAC China-departure overlays for the mainland-China carriers.
  • Moves active rules from 59 to 64 while keeping the public airline coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Activates the five source-registry entries after fresh reachability checks returned HTTP 200.
  • Defers China Southern, JAL, United, Air India, IndiGo, and Tway because fresh checks returned 403 responses or HTTP/2 errors.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-11

Verdict API and structured-data cleanup

v2026.06.11-03

This production hotfix removes stale approval-band wording, accepts top-level verify model_id calls, and trims programmatic verdict JSON-LD to factual Article/Breadcrumb output.

  • Replaces stale generic 100-160 Wh power-bank approval wording with 2026 passenger-facing 100 Wh guidance unless a source explicitly confirms a power-bank-specific approval path.
  • Normalizes top-level model_id, serial, capacity, voltage, Wh, and label-legibility fields into device.* on POST /api/verify.
  • Documents the shorthand request shape in OpenAPI and guards it in the OpenAPI contract test.
  • Removes same-page FAQPage/QAPage conflicts, deprecated HowTo schema, and self-authored Review nodes from programmatic verdict JSON-LD.
  • Confirms the Cathay programmatic page has zero FAQPage/QAPage/HowTo/Review nodes and only 8 PropertyValue nodes in local production HTML.
2026-06-11

ROMOSS official-storefront catalog expansion

v2026.06.11-02

This local-only release adds verifier-ready ROMOSS power-bank records from official manufacturer and official-storefront evidence.

  • Adds 9 ROMOSS catalog records and records the then-current local source-of-truth catalog size across verified brand groups.
  • Adds ROMOSS to verified entity identifiers from the official English and Chinese manufacturer sites.
  • Uses ROMOSS-linked JD self-operated flagship product pages for model/SKU and capacity evidence, including 10,000mAh, 20,000mAh, 27,000mAh, and 30,000mAh records.
  • Rejects ROMOSS chargers, cables, unstable official API responses, and image-only candidates where capacity could not be bound to a stable model identifier.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 123 brand hubs, 58 long-tail verdicts, and 2 datasets, with 30646 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-11

Recall-unknown verdict hardening

v2026.06.11-01

This production hotfix prevents active model-specific recalls with unknown serial status from being summarized as fully Allowed on public verdict surfaces.

  • Promotes exact-model active recall matches with missing or manufacturer-list-only serial clearance from allowed to conditional.
  • Adds a visible recall_serial_required constraint so travelers and answer engines see that serial or manufacturer eligibility must be checked before travel.
  • Keeps affected serials as banned and explicitly non-affected serials on normal flight rules, preserving the model-specific recall boundary.
  • Hides ordinary carry-on condition lists from Banned verdict tiles so prohibited outcomes no longer appear to include permission-style instructions.
  • Adds plain-language verdict-page reasons for missing China 3C evidence and unresolved recall eligibility, then regenerates public data, AEO, GSC, and sitemap artifacts.
2026-06-10

Qantas and Air New Zealand active rule normalization

v2026.06.10-23

This release converts two more already-reviewed official airline profiles into active airline rules, continuing the rule-depth cleanup behind the official coverage count.

  • Adds active airline rules for Qantas and Air New Zealand from their official power-bank / lithium-battery policy pages.
  • Repoints QF and NZ airline profiles to their own official airline rule IDs without changing policy confidence or public coverage counts.
  • Moves active rules from 57 to 59 while keeping the public coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Activates Qantas and Air New Zealand source-registry entries after fresh reachability checks; skips Jetstar, Etihad, Turkish Airlines, Austrian, and SAS because fresh HEAD checks returned HTTP/2 errors or 403 responses.
  • Ships the Qantas and Air New Zealand rule-depth cleanup to production after public data, AEO, API, coverage-depth, and citation-audit checks passed.
2026-06-10

Official airline rule normalization

v2026.06.10-22

This local-only release converts four previously profile-only official airline policies into active airline rules, reducing the gap between official coverage claims and enforceable rule evidence.

  • Adds active airline rules for VietJet Air, HK Express, SriLankan Airlines, and Royal Jordanian from their already-reviewed official policy sources.
  • Repoints VJ, UO, UL, and RJ airline profiles away from the stale IATA baseline key rule to their own official airline rule IDs without changing policy confidence.
  • Moves active rules from 53 to 57 while keeping the public coverage split at 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the four official airline policy URLs to the source registry for monitoring; flydubai was intentionally left unchanged because its official PDF timed out in fresh reachability checks.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

AirAsia group official coverage upgrade

v2026.06.10-21

This local-only release upgrades three AirAsia-linked IATA-baseline airline records to official AirAsia group coverage and adds active airline rules for the previously profile-only AirAsia policy evidence.

  • Adds active airline rules for AirAsia X, Indonesia AirAsia, and Philippines AirAsia using AirAsia's official portable-electronic-devices support article for AirAsia flights.
  • Moves D7, QZ, and Z2 from IATA-baseline-backed coverage to official coverage with power-bank-specific two-unit, 100 Wh, over-100 Wh prohibition, no check-in luggage, no overhead-bin storage, under-seat/seat-pocket storage, and no onboard use or charging rules.
  • Moves the public depth split to 98 airline-official, 141 market-regulator-backed, 161 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Records that D7/QZ/Z2 carrier-specific prohibited-items article slugs returned 404 in this pass, so the claim remains AirAsia group official coverage rather than carrier-specific page ownership.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

India DGCA market-regulator coverage upgrade

v2026.06.10-20

This local-only release upgrades the remaining India IATA-baseline airline records to India DGCA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active India DGCA Dangerous Goods Advisory Circular 01/2025 rule covering hand-baggage-only passenger messaging for power banks and spare batteries, no overhead-bin storage, in-flight power-bank use/charging prohibition, and short-circuit protection guidance.
  • Moves Vistara, Air India Express, SpiceJet, Akasa Air, Alliance Air, and Star Air from pure IATA-baseline-backed coverage to India DGCA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 141 market-regulator-backed, 164 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the official DGCA Dangerous Goods circulars entry as an active India regulator source; the specific PDF was verified through DGCA's official dynamic attachment endpoint.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Hong Kong CAD market-regulator coverage upgrade

v2026.06.10-19

This local-only release upgrades the remaining Hong Kong IATA-baseline airline records to Hong Kong CAD market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active Hong Kong CAD DGAC 2/2026 power-bank rule for Hong Kong-departing flights covering carry-on-only handling, a two-power-bank cap, and in-flight power-bank recharging prohibition.
  • Moves Hong Kong Airlines and Greater Bay Airlines from pure IATA-baseline-backed coverage to Hong Kong CAD market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 135 market-regulator-backed, 170 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the DGAC 2/2026 PDF as a high-severity active Hong Kong regulator source while keeping the broader CAD DGAC index monitored.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Additional EASA market-regulator coverage upgrade

v2026.06.10-18

This local-only release upgrades another Belgium, Denmark, Switzerland, Cyprus, Romania, Croatia, Hungary, Malta, Sweden, and Estonia IATA-baseline airline batch to country-scoped EASA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds Belgium-, Denmark-, Switzerland-, Cyprus-, Romania-, Croatia-, Hungary-, Malta-, Sweden-, and Estonia-scoped EASA passenger dangerous-goods power-bank rules covering carry-on-only handling, checked-baggage prohibition, short-circuit protection, onboard recharge/use restrictions, and damaged/defective/recalled lithium-battery warnings.
  • Moves TUI fly Belgium, DAT, FlexFlight, Helvetic Airways, Chair Airlines, Cyprus Airways, Animawings, Trade Air, Smartwings Hungary, Wizz Air Malta, Amapola Flyg, and Regional Jet from pure IATA-baseline-backed coverage to EASA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 133 market-regulator-backed, 172 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps Albania, Moldova, Faroe Islands, and Greenland records on the IATA baseline for now because EASA applicability is less direct than EU/EASA member-state and Switzerland-linked coverage.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Italy, Greece, and Poland EASA market-regulator coverage upgrade

v2026.06.10-17

This local-only release upgrades the remaining Italy, Greece, and Poland IATA-baseline airline records to EASA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds Italy-, Greece-, and Poland-scoped EASA passenger dangerous-goods power-bank rules covering carry-on-only handling, checked-baggage prohibition, short-circuit protection, onboard recharge/use restrictions, and damaged/defective/recalled lithium-battery warnings.
  • Moves Neos, Aeroitalia, SkyAlps, SKY express, Olympic Air, Air Mediterranean, Buzz, Enter Air, and SprintAir from pure IATA-baseline-backed coverage to EASA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 121 market-regulator-backed, 184 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps EASA coverage country-scoped instead of using a broad catch-all rule, so rule matching remains explicit by market.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

France and Spain EASA market-regulator coverage upgrade

v2026.06.10-16

This local-only release upgrades the remaining France and Spain IATA-baseline airline records to EASA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds France- and Spain-scoped EASA passenger dangerous-goods power-bank rules covering carry-on-only handling, checked-baggage prohibition, short-circuit protection, onboard recharge/use restrictions, and damaged/defective/recalled lithium-battery warnings.
  • Moves ASL Airlines France, Corsair, Air Corsica, Transavia France, Air France Hop, Air Europa, Binter Canarias, Volotea, Iberia Express, Air Nostrum, and Iberojet from pure IATA-baseline-backed coverage to EASA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 112 market-regulator-backed, 193 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Keeps EASA coverage country-scoped instead of using a broad catch-all rule, so rule matching remains explicit by market.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Australia CASA market-regulator coverage upgrade

v2026.06.10-15

This local-only release upgrades the remaining Australia IATA-baseline airline records to CASA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active Australia CASA Pack Right lithium-batteries rule covering cabin-only handling for power banks/spare batteries, checked-luggage prohibition, short-circuit protection, 100 Wh / 160 Wh approval bands, and over-160 Wh passenger-baggage prohibition.
  • Moves Alliance Airlines and Rex Airlines from pure IATA-baseline-backed coverage to Australia CASA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 101 market-regulator-backed, 204 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds CASA's Pack Right lithium-batteries page as an active regulator source.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

EASA market-regulator coverage upgrade

v2026.06.10-14

This local-only release upgrades the remaining EU IATA-baseline airline records to EASA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active EASA passenger dangerous-goods power-bank rule covering carry-on-only handling, checked-baggage prohibition, short-circuit protection, onboard recharge/use restrictions, and damaged/defective/recalled lithium-battery warnings.
  • Moves LOT Polish Airlines, Czech Airlines, Bulgaria Air, Norwegian Air Sweden, Croatia Airlines, Luxair, KM Malta Airlines, Transavia, TUI fly Netherlands, Eurowings, Discover Airlines, TUI fly Deutschland, and Smartwings from pure IATA-baseline-backed coverage to EASA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 99 market-regulator-backed, 206 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Reuses the existing active EASA Dangerous Goods source already tracked in the source registry.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Canada CATSA market-regulator coverage upgrade

v2026.06.10-13

This local-only release upgrades the remaining Canada IATA-baseline airline records to CATSA market-regulator/security-screening coverage without claiming airline-owned official policy text.

  • Adds an active Canada CATSA passenger battery guidance rule covering carry-on handling for batteries and lithium-battery-powered devices, checked-baggage and overhead-bin avoidance for power banks, 100 Wh / 160 Wh approval bands, short-circuit protection, damaged/recalled battery warning, and onboard-charging caution.
  • Moves Sunwing Airlines, Pascan Aviation, Calm Air, Canadian North, Air North, PAL Airlines, Pacific Coastal Airlines, Central Mountain Air, Bearskin Airlines, and Air Inuit from pure IATA-baseline-backed coverage to Canada CATSA market-regulator-backed coverage.
  • Tightens airline_filter rule matching so country-scoped filtered rules cannot pollute unrelated same-code airline sources, including the Canada CA / Air China CA collision.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 86 market-regulator-backed, 219 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds CATSA's Guidelines for Batteries page as an active regulator/security-screening source.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Japan MLIT market-regulator coverage upgrade

v2026.06.10-12

This local-only release upgrades the remaining Japan IATA-baseline airline records to MLIT / JCAB market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active Japan MLIT / JCAB April 24, 2026 passenger power-bank rule covering checked-baggage prohibition, carry-on/seat-pocket handling, a two-power-bank cap, a 160 Wh hard cap, overhead-compartment restriction, short-circuit protection, and onboard charging/use restrictions.
  • Moves Peach Aviation, StarFlyer, Air Do, Spring Airlines Japan, ZIPAIR Tokyo, IBEX Airlines, and Japan Transocean Air from pure IATA-baseline-backed coverage to Japan MLIT / JCAB market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 76 market-regulator-backed, 229 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the MLIT English April 24, 2026 power-bank passenger notice as an active regulator source linked from MLIT's dangerous-goods baggage page.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

UK CAA market-regulator coverage upgrade

v2026.06.10-11

This local-only release upgrades the remaining UK IATA-baseline airline records to UK CAA market-regulator-backed coverage without claiming airline-owned official policy text.

  • Adds an active UK CAA passenger baggage power-bank rule covering checked-baggage prohibition, carry-on/cabin allowance, a two-power-bank cap, 100 Wh / 160 Wh approval bands, and onboard recharge restriction.
  • Moves Jet2.com, TUI Airways, Wizz Air UK, Loganair, and Eastern Airways from pure IATA-baseline-backed coverage to UK CAA market-regulator-backed coverage.
  • Keeps airline-official coverage unchanged at 95 records while moving the public depth split to 95 airline-official, 69 market-regulator-backed, 236 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the UK Civil Aviation Authority passenger baggage safety page as an active regulator source.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Jetstar Japan official-source upgrade

v2026.06.10-10

This local-only release upgrades Jetstar Japan from IATA-baseline-backed coverage to airline-official coverage using Jetstar's official dangerous-goods page, which explicitly maps GK to Jetstar Japan.

  • Upgrades Jetstar Japan from IATA-baseline-backed regulator_backed to official using Jetstar's official dangerous-goods page.
  • Adds an active GK power-bank controls rule covering carry-on-only handling, max two power banks, no onboard use or charging, easy-reach handling, and damaged/defective battery prohibition.
  • Moves the public depth split to 95 airline-official, 64 market-regulator-backed, 241 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds Jetstar Japan as a manual-reviewed official source while reusing the Jetstar dangerous-goods URL that explicitly maps GK = Jetstar Japan.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

PAL Express official-source upgrade

v2026.06.10-09

This local-only release upgrades PAL Express from IATA-baseline-backed coverage to airline-official coverage using the same official PAL restricted-items AEM page model that explicitly applies to Philippine Airlines / PAL Express operated flights.

  • Upgrades PAL Express from IATA-baseline-backed regulator_backed to official using the official Philippine Airlines / PAL Express restricted-items dangerous-goods lithium table exposed through the AEM .model.json endpoint.
  • Adds an active PAL Express power-bank cabin-controls rule covering carry-on-only handling, max two power banks, no overhead-bin storage, no in-flight power-bank recharging, no device charging during taxi/takeoff/landing, and capacity-label requirements.
  • Moves the public depth split to 94 airline-official, 64 market-regulator-backed, 242 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the PAL AEM model JSON as a manual-reviewed official PAL Express source while preserving the same public traveler-facing policy URL.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Philippine Airlines official-source upgrade

v2026.06.10-08

This local-only release upgrades Philippine Airlines from IATA-baseline-backed coverage to airline-official coverage using the official PAL restricted-items AEM page model.

  • Upgrades Philippine Airlines from IATA-baseline-backed regulator_backed to official using its official restricted-items dangerous-goods lithium table exposed through the AEM .model.json endpoint.
  • Adds an active PAL power-bank cabin-controls rule covering carry-on-only handling, max two power banks, no overhead-bin storage, no in-flight power-bank recharging, no device charging during taxi/takeoff/landing, and capacity-label requirements.
  • Moves the public depth split to 93 airline-official, 64 market-regulator-backed, 243 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Adds the PAL AEM model JSON as a manual-reviewed official airline source while keeping the public PAL route as the traveler-facing policy URL.
  • Records Cebu Pacific as still not promotable from the current static/dynamic page extraction path.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Scoot official-source upgrade

v2026.06.10-07

This release clears the final airline blocked_source record by replacing Scoot's blocked HTML source with its official April 2026 Dangerous Goods PDF.

  • Upgrades Scoot from blocked_source to airline-official using the official Scoot_DG_APR2026_Web PDF linked from Scoot's travel-information page.
  • Activates the Scoot max-2 power-bank rule with the official PDF citation.
  • Moves the public depth split to 92 airline-official, 64 market-regulator-backed, 244 IATA-baseline-backed, 0 needs-review, and 0 blocked-source records.
  • Raises source-backed airline policy records to 400/400 while keeping IATA-baseline records separate from airline-owned official records.
  • Keeps the Scoot source monitor as manual_reviewed_official until PDF baseline parsing is added.
  • Deployed to Cloudflare production as version 83f9e549-9670-4eee-ba45-92f9ef0b55c7.
2026-06-10

Airline needs-review closure

v2026.06.10-06

This local-only release closes the remaining raw airline policy review tail without inflating the airline-official count.

  • Promotes the final 102 needs_review airline records to IATA-baseline-backed regulator_backed coverage using the active IATA passenger lithium-battery guidance.
  • Keeps airline-official coverage unchanged at 91 records; these 102 records are not claimed as airline-owned policy verification.
  • Moves the public depth split to 91 airline-official, 64 market-regulator-backed, 244 IATA-baseline-backed, 0 needs-review, and 1 blocked-source record.
  • Updates test:airline-coverage-depth so source data, helper logic, and public-data/snapshot/coverage.json must preserve the zero-needs_review state.
  • Keeps this pass local-only; Cloudflare production still reflects the prior deployed coverage until the next deploy.
2026-06-10

Airline coverage-depth guardrails

v2026.06.10-05

This local-only release makes airline-policy coverage depth explicit and test-protected after the 400-airline expansion.

  • Splits airline coverage into airline-official, market-regulator-backed, IATA-baseline-backed, needs-review, and blocked-source tiers across homepage, About, /airlines, and public data.
  • Upgrades VietJet Air, HK Express, flydubai, Royal Jordanian, SriLankan Airlines, China Southern, Hainan Airlines, XiamenAir, Juneyao Air, Spring Airlines, Thai Airways, Tway Air, Aegean Airlines, Air Dolomiti, TAROM, South African Airways, Condor, STARLUX Airlines, Air Caraibes, French Bee, Royal Brunei Airlines, Solaseed Air, Skymark Airlines, China Airlines, Malaysia Airlines, AirAsia, Thai AirAsia X, and Thai AirAsia from lower-depth tiers to airline-official records using readable official power-bank or lithium-battery guidance.
  • Adds machine-readable public coverage fields for airline_official_policy_count, airline_market_regulator_count, airline_iata_baseline_count, airline_needs_review_count, and airline_blocked_source_count.
  • Corrects China Airlines' baseline policy URL so the IATA-backed CI record no longer points at an unrelated VietJet official page.
  • Adds test:airline-coverage-depth and wires it into preflight so source data, shared UI helper logic, and public-data/snapshot/coverage.json must agree.
  • Preserves the current 400-airline dataset while making the depth split explicit: 91 airline-official, 64 market-regulator-backed, 142 IATA-baseline-backed, 102 needs-review, and 1 blocked-source record.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Coverage transparency production publish

v2026.06.10-04

This release publishes the coverage-transparency copy update and the then-current catalog state to production.

  • Reframes homepage and About metrics as catalog records, jurisdiction profiles, airline profiles, and source-backed airline policy records instead of implying equal verification depth across every profile.
  • Calls out the source-backed airline policy depth separately from the 400-airline watchlist/profile coverage.
  • Publishes the then-current power-bank catalog across verified brand groups.
  • Preserves the 400-airline Airline Policy Intelligence dataset while keeping unreviewed policy records in needs_review.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts for the production bundle.
2026-06-10

Official-source 7026 catalog expansion

v2026.06.10-03

This local-only release adds a small clean official-source variant batch after the Oraimo expansion.

  • Adds 4 catalog records after the 7022-model pass, bringing the local source of truth to 7026 power-bank models across 122 verified brand groups.
  • Adds official-source CHOETECH B695, Charmast C1115, and Noise Power Series variant records with explicit capacity evidence.
  • Rejects already-represented PISEN and Native Union canonical candidates, retailer-only feeds, INIU 2-packs, Limitless 2-pack sets, and non-standalone accessory/device records.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 122 brand hubs, 58 long-tail verdicts, and 2 datasets, with 30606 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

Official-source 7022 catalog expansion

v2026.06.10-02

This local-only release continues the post-7000 catalog expansion with a clean Oraimo official-source batch.

  • Adds 22 Oraimo catalog records after the 7000-model production publish, bringing the local source of truth to 7022 power-bank models across 122 verified brand groups.
  • Adds official-source Oraimo OPB-series and PowerJet records across PowerNova, Traveler, Toast, Slice Link, PowerFlow, PowerBox, and PowerJet variants.
  • Rejects Oraimo charger kits, car chargers, wall chargers, speakers, headphones, grooming appliances, lamps, fans, adapters, travel converters, compressors, and data-cable-only pages that are not standalone power-bank catalog records.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 122 brand hubs, 58 long-tail verdicts, and 2 datasets, with 30590 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-10

7000-model and 400-airline production publish

v2026.06.10-01

This release publishes the local catalog and Airline Policy Intelligence expansion to production.

  • Publishes the 7000-model power-bank catalog across 122 verified brand groups.
  • Publishes the 400-airline Airline Policy Intelligence dataset across 129 country records.
  • Keeps unreviewed airline policy records in needs_review while preserving 76 reviewed policy URLs.
  • Publishes regenerated public-data, AEO, GSC tracking, and static sitemap artifacts for the expanded datasets.
  • Keeps active recall intelligence at 8 model-specific recalls with unchanged recall precedence behavior.
2026-06-09

400-airline coverage baseline expansion

v2026.06.09-12

This local-only release expands Airline Policy Intelligence breadth while keeping unreviewed airline policies out of the official-source tier.

  • Adds 100 airline coverage records, bringing the local source of truth to 400 airlines across 129 country records.
  • Adds 29 country records needed by the new airline home markets, using IATA lithium-battery baseline handling until jurisdiction-specific rules are reviewed.
  • Keeps the new airline records at needs_review with no policy URL until an official airline dangerous-goods or battery policy source is reviewed.
  • Makes MU, CA, OZ, and TG policy confidence explicit so the airline source data no longer has missing confidence records.
  • Updates the airline API access regression so /api/airlines?limit=400 must expose the full dataset.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 7000 catalog expansion

v2026.06.09-11

This local-only release completes the 7000-model expansion checkpoint with additional official-source portable-charger coverage.

  • Adds 391 catalog records after the 6609-model pass, bringing the local source of truth to 7000 power-bank models across 122 verified brand groups.
  • Adds official-source records across INIU, RAUGEE, Vinko, Klarus, RORRY, Borra, Puro, Kopplen, Nitecore, Snap Wireless, Oraimo, UGREEN, CHOETECH, Callmate, and Momax.
  • Adds Puro, Kopplen, Nitecore, Snap Wireless, RAUGEE, Vinko, Klarus, and Borra to entity-identifiers.json from official manufacturer sites before promotion, and normalizes Oraimo, Momax, Klarus, Borra, and Vinko display names for entity validation.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 122 brand hubs, 58 long-tail verdicts, and 2 datasets, with 30102 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 6609 catalog expansion

v2026.06.09-10

This local-only release advances the 7000-model expansion workstream with additional official-source portable-charger brands.

  • Adds 117 catalog records, bringing the local source of truth to 6609 power-bank models across 109 verified brand groups.
  • Adds official-source records across Hiluckey, BigBlue, Nimble, Cellet, BioLite, ZeroLemon, Solgaard, PITAKA, KUXIU, LinearFlux, RapidX, AOHI, UGREEN, Xtorm, and SBS.
  • Adds Hiluckey, BigBlue, Nimble, Cellet, BioLite, ZeroLemon, Solgaard, PITAKA, KUXIU, LinearFlux, RapidX, and SBS to entity-identifiers.json from official manufacturer sites before promotion.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 109 brand hubs, 58 long-tail verdicts, and 2 datasets, with 28486 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 6492 catalog expansion

v2026.06.09-09

This local-only release advances the 7000-model expansion workstream and cleans up a duplicate Native Union brand split.

  • Adds 28 catalog records and removes 13 duplicate Native Union records that had been staged under the non-canonical nativeunion brand ID, bringing the local source of truth to 6492 power-bank models across 97 verified brand groups.
  • Adds official-source records across Powerology and iWALK.
  • Keeps Native Union under the canonical native-union identity instead of preserving a duplicate brand hub.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 97 brand hubs, 58 long-tail verdicts, and 2 datasets, with 27970 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 6477 catalog expansion

v2026.06.09-08

This local-only release advances the 7000-model expansion workstream with a second validated official-source batch.

  • Adds 138 catalog records, bringing the local source of truth to 6477 power-bank models across 98 verified brand groups.
  • Adds official-source records across boAt, Noise, Boult, Benks, Snap Wireless, CUKTECH, Promate, SHARGE, Xtorm, Charmast, Stuffcool, LISEN, Intex, Gizmore, Mobilla, Vinnic, UltraProlink, and Just Corseca.
  • Adds Noise and Boult to entity-identifiers.json from official manufacturer sites and maps Snap Wireless US to the existing Snap Wireless identity.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 98 brand hubs, 58 long-tail verdicts, and 2 datasets, with 27914 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 6339 catalog expansion

v2026.06.09-07

This local-only release advances the 7000-model expansion workstream with the currently validated official-source batch.

  • Adds 339 catalog records, bringing the local source of truth to 6339 power-bank models across 96 verified brand groups.
  • Adds official-source records across AUKEY, VEGER, myCharge, Torras, Cygnett, mophie, RAVPower, Ambrane, Limitless Innovations, CHOETECH, UGREEN, INIU, AOHI, RORRY, Goal Zero, Havit, Yesido, Lapcare, Callmate, Native Union, and Cellecor.
  • Adds Native Union to entity-identifiers.json from its official manufacturer site before promoting its official product JSON records.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 96 brand hubs, 58 long-tail verdicts, and 2 datasets, with 27354 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 6000 catalog expansion

v2026.06.09-06

This local-only release expands official-source catalog breadth after the 5714-model pass.

  • Adds 286 catalog records, bringing the local source of truth to 6000 power-bank models across 95 verified brand groups.
  • Adds official-source records across Ambrane, Limitless Innovations, Mobilla, CHOETECH, Eloop, Vention, UGREEN, Baseus, INIU, Momax, EcoFlow, and VEGER; all 43 safe Momax candidates from this pass are included.
  • Rejects gift boxes, bundles, multi-packs, power stations, charging stations, jump-starters, air-pump / fan devices, tracker-only records, cables, fire-proof bags, laptop batteries, and SSD-enclosure hybrids.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 25994 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 5714 catalog expansion

v2026.06.09-05

This local-only release expands Snap Wireless official-source coverage after the 5684-model pass.

  • Adds 30 catalog records, bringing the local source of truth to 5714 power-bank models across 95 verified brand groups.
  • Adds official Snap Wireless PowerPack Slim 2, Slim 2 Pro, Universal Slim, Universal Pro, Nano, Universal, PowerPack 2, Mini, and Pro color-SKU records from official product metadata.
  • Rejects tracker-only Snap Wireless records and keeps bundle-like or non-power-bank candidates out of the catalog.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24850 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 5684 catalog expansion

v2026.06.09-04

This local-only release expands MAXOAK, ToughTested, and Charmast official-source coverage after the 5669-model pass.

  • Adds 15 catalog records, bringing the local source of truth to 5684 power-bank models across 95 verified brand groups.
  • Adds MAXOAK / POWEROAK K6, ToughTested Solar Titan10 / Titan20 / Titan30 and Trek, plus Charmast CB01 and C2046S color-SKU records from official product metadata.
  • Rejects or defers Chargeasap small powerbank pages without capacity evidence, UBON PB-X88 without capacity evidence, MAXOAK refurbished K6, and ToughTested air-pump, lighter, air-cooler, jump-starter, and accessory candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24730 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 5669 catalog expansion

v2026.06.09-03

This local-only release expands Zendure and HAVIT official-source coverage after the 5658-model pass.

  • Adds 11 catalog records, bringing the local source of truth to 5669 power-bank models across 95 verified brand groups.
  • Adds official Zendure SuperMini 20, SuperMini X3, X5, and SuperMini 10K color-SKU records, plus HAVIT PB32 from official product metadata.
  • Rejects or defers Naztech legacy PowerBolt 404 pages, 4smarts WAF-blocked pages, Zendure SuperMini Pro / GO ambiguous-capacity records, HAVIT PB37 / PB50 ambiguous-capacity records, and already-covered Rolling Square, UZE, Frontech, Nu Republic, PanzerGlass, Aluratek, and AOHI candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24670 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 5658 catalog expansion

v2026.06.09-02

This local-only release expands Journey, Alogic, HyperGear, and CUKTECH official-source coverage after the 5648-model pass.

  • Adds 10 catalog records, bringing the local source of truth to 5658 power-bank models across 95 verified brand groups.
  • Adds official Journey AXIE, Alogic Ark Pro AP27KPB160W, HyperGear Mag Grip Go / SolPro / Wireless Solar records, and CUKTECH CP13 / 15 Air / 10 Mini / CP12 records from official product metadata.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24626 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-09

Official-source 5648 catalog expansion

v2026.06.09-01

This local-only release expands WEKOME and Aluratek official-source coverage after the 5598-model pass.

  • Adds 50 catalog records, bringing the local source of truth to 5648 power-bank models across 95 verified brand groups.
  • Expands official WEKOME coverage across compact, magnetic, cabled, high-capacity, and CCC-version power-bank records, and adds Aluratek AQ2PBW10KF from official product metadata.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24586 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5598 catalog expansion

v2026.06.08-13

This local-only release expands Casely Power Pod official-source coverage after the 5590-model pass.

  • Adds 8 catalog records, bringing the local source of truth to 5598 power-bank models across 95 verified brand groups.
  • Expands official Casely PP1 Power Pod 1 / 5000mAh SKU coverage while keeping the existing E33A recall record model-specific and avoiding brand-level recall inference.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24386 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5590 catalog expansion

v2026.06.08-12

This local-only release expands ToughTested official-source coverage after the 5582-model pass.

  • Adds 8 catalog records, bringing the local source of truth to 5590 power-bank models across 95 verified brand groups.
  • Expands official ToughTested coverage across Explorer10, hand-warmer phone charger, ROC, Switchback, LED10, and Solar24 power-bank records while rejecting jumpstarter, air-pump, arc-lighter, lantern, and ambiguous Casely recall-boundary candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24354 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5582 catalog expansion

v2026.06.08-11

This local-only release expands European and accessory-brand official-source SKU coverage after the 5526-model pass.

  • Adds 56 catalog records, bringing the local source of truth to 5582 power-bank models across 95 verified brand groups.
  • Expands official Benks, Statik, Charmast, PhoneSuit, and PanzerGlass SKU coverage while rejecting starter packs, charging docks, multipacks, bundles, kits, stations, chargers, cables, cases, power stations, jump starters, solar devices, and refurb/open-box candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24322 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5526 catalog expansion

v2026.06.08-10

This local-only release expands Indian and adjacent official-source SKU coverage after the 5263-model pass.

  • Adds 263 catalog records, bringing the local source of truth to 5526 power-bank models across 95 verified brand groups.
  • Adds UltraProlink, pTron, Just Corseca, Nu Republic, and Frontech as entity-backed brand groups while expanding Callmate, Zebronics, boAt, URBN, Lapcare, Gizmore, and Cellecor SKU coverage.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 95 brand hubs, 58 long-tail verdicts, and 2 datasets, with 24098 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5263 catalog expansion

v2026.06.08-09

This local-only release expands existing official-source SKU coverage after the 5178-model pass.

  • Adds 85 catalog records, bringing the local source of truth to 5263 power-bank models across 90 verified brand groups.
  • Expands official SHARGE, JOYROOM, Vention, and Promate SKU coverage while rejecting power-station, jump-starter, bundle, kit, charging-set, and charger-combo candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 90 brand hubs, 58 long-tail verdicts, and 2 datasets, with 23026 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5178 catalog expansion

v2026.06.08-08

This local-only release adds Vinnic and expands official EcoFlow RAPID coverage after the 5132-model pass.

  • Adds 46 catalog records, bringing the local source of truth to 5178 power-bank models across 90 verified brand groups.
  • Adds Vinnic as an entity-backed brand group and expands official EcoFlow RAPID, RAPID Mag, and RAPID Pro SKU coverage.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 90 brand hubs, 58 long-tail verdicts, and 2 datasets, with 22686 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5132 catalog expansion

v2026.06.08-07

This local-only release expands existing official-source brand coverage after the 5115-model pass.

  • Adds 17 catalog records, bringing the local source of truth to 5132 power-bank models across 89 verified brand groups.
  • Expands official SKU coverage for myCharge, Goal Zero, and Hyper while rejecting bundle, open-box, charging-station, jump-starter, and power-station candidates.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface remains 52 question guides, 89 brand hubs, 58 long-tail verdicts, and 2 datasets, with 22498 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5115 catalog expansion

v2026.06.08-06

This local-only release adds another official-source power-bank batch after the post-5000 expansion.

  • Adds 29 catalog records, bringing the local source of truth to 5115 power-bank models across 89 verified brand groups.
  • Adds Rokform, HyperGear, and ToughTested as entity-backed brand groups, while expanding official SKU coverage for Xtorm and Aluratek.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 89 brand hubs, 58 long-tail verdicts, and 2 datasets, with 22430 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source post-5000 catalog expansion

v2026.06.08-05

This local-only release expands the power-bank catalog beyond the 5000-model milestone with another official-source batch.

  • Adds 86 catalog records, bringing the local source of truth to 5086 power-bank models across 86 verified brand groups.
  • Adds Alogic, Journey, and Snap Wireless as entity-backed brand groups, while expanding official SKU/variant coverage for Cygnett, Ambrane, Stuffcool, Portronics, and Torras.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 86 brand hubs, 58 long-tail verdicts, and 2 datasets, with 22302 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 5000 catalog expansion

v2026.06.08-04

This local-only release expands the power-bank catalog to the 5000-model milestone with official manufacturer sources.

  • Adds 2000 catalog records, bringing the local source of truth to 5000 power-bank models across 83 verified brand groups.
  • Adds RORRY, LISEN, Portronics, URBN, boAt, Zebronics, Callmate, Intex, Gizmore, Cellecor, Mobilla, UltraProlink, pTron, U&i, Boult, Just Corseca, Frontech, Nu Republic, Benks, Cellularline, and adjacent official-source brands.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 83 brand hubs, 58 long-tail verdicts, and 2 datasets, with 21946 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Official-source 3000 catalog expansion

v2026.06.08-03

This local-only release expands the power-bank catalog to the 3000-model milestone with official manufacturer sources.

  • Adds 954 catalog records, bringing the local source of truth to 3000 power-bank models across 54 verified brand groups.
  • Adds iWALK, Cygnett, Goal Zero, Hyper, Naztech, Chargeasap, and Eloop as entity-backed brand groups, while expanding official SKU/variant coverage for major existing brands.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 54 brand hubs, 58 long-tail verdicts, and 2 datasets, with 13830 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-08

Homepage verifier search hardening

v2026.06.08-02

This release hardens the homepage and verifier device-search flows against malformed or failed `/api/devices` responses.

  • Adds runtime normalization for device-search API results before rendering model suggestions.
  • Makes homepage search, verifier search, recent additions, and photo-assisted catalog matching tolerate non-OK or malformed responses without crashing the form.
  • Preserves the existing `/api/devices` contract while preventing one bad response from breaking the public verifier experience.
2026-06-08

CPSC recall monitor source replacement

v2026.06.08-01

This release replaces the failing CPSC RSS probe with the official CPSC Recall API.

  • Repoints `cpsc-recalls-rss` from the CPSC RSS URL to the public saferproducts.gov Recall API JSON endpoint.
  • Updates content markers from RSS tags to JSON recall fields: `RecallID`, `RecallNumber`, `RecallDate`, and `Products`.
  • Refreshes the accepted content baseline so the new API response verifies cleanly instead of reporting a false source change.
  • Restores live ingest health to 26 green, 0 amber, 0 red monitored sources.
2026-06-07

Airline source monitor registry refresh

v2026.06.07-19

This release refreshes the Airline Policy Intelligence source-monitor registry after the 300-carrier coverage expansion.

  • Adds five missing policy-source monitor entries for Scoot, EVA Air, China Eastern, Thai Airways, and Lufthansa.
  • Raises tracked airline policy sources from 58 to 63 while keeping homepage-only `needs_review` carriers out of the tracked-source count.
  • Updates the AEO airline dataset source-monitoring counts to 63 tracked sources, 11 active verified monitors, 50 manual-reviewed official sources, 2 blocked sources, and 237 coverage gaps.
  • Keeps newly added sources inactive/manual-reviewed or blocked until stable automated baselines are established.
2026-06-07

Airline coverage scale-up to 300

v2026.06.07-18

This local-only release expands broad airline coverage and upgrades a high-frequency official-source batch.

  • Adds 100 additional airline records, bringing Airline Policy Intelligence coverage from 200 to 300 carriers.
  • Upgrades 30 high-frequency carriers to official-source records with manual-reviewed policy URLs, bringing policy URL coverage from 46 to 76.
  • Adds 38 airline home-country contexts for baseline IATA route handling, bringing supported country records from 62 to 100.
  • Synchronizes manual-reviewed source registry entries, ops source entries, public-data coverage, AEO manifest, GSC tracking, sitemap artifacts, and out-of-corridor golden fixtures; no Cloudflare deploy was run.
2026-06-07

Airline coverage scale-up to 200

v2026.06.07-17

This local-only release expands broad airline coverage while preserving confidence boundaries.

  • Adds 154 additional airline records as `needs_review`, bringing Airline Policy Intelligence coverage from 46 to 200 carriers.
  • Adds 40 airline home-country contexts for baseline IATA route handling, bringing supported country records from 22 to 62.
  • Refactors the verifier airline selector so bulk catalog airlines appear automatically under a More carriers group while the manually localized priority carriers stay curated.
  • Keeps bulk-added carriers without policy URLs or active airline rules until their official dangerous-goods or battery policy sources are reviewed; no Cloudflare deploy was run.
2026-06-07

Second airline policy coverage expansion

v2026.06.07-16

This local-only release expands Airline Policy Intelligence with another official-source carrier batch.

  • Adds Virgin Atlantic, SAS, SWISS, Air New Zealand, Southwest Airlines, and Austrian Airlines to the airline policy database, bringing tracked carriers from 40 to 46.
  • Adds New Zealand and Switzerland as supported route countries so Air New Zealand and SWISS records resolve with valid home-country context.
  • Updates verifier airline/country selectors, runtime policy-source registry, ops source registry, golden out-of-corridor fixtures, public-data coverage snapshot, AEO manifest, GSC tracking, and static sitemap artifacts.
  • Keeps the new sources as manual-reviewed official records until stable automated ingest baselines are added; no Cloudflare deploy was run.
2026-06-07

Airline policy coverage expansion

v2026.06.07-15

This local-only release expands Airline Policy Intelligence coverage with additional official carrier policy records.

  • Adds Qantas, Jetstar, Etihad Airways, Turkish Airlines, Air France, KLM, and Finnair to the airline policy database, bringing tracked carriers from 33 to 40.
  • Adds Turkey as a supported route country so Turkish Airlines records resolve with a valid home-country context.
  • Synchronizes the verifier airline dropdown, runtime policy-source registry, ops source registry, public-data coverage snapshot, AEO manifest, GSC tracking, and static sitemap artifacts.
  • Keeps the new sources as manual-reviewed official records until stable automated ingest baselines are added; no Cloudflare deploy was run.
2026-06-07

B2B pilot operating kit

v2026.06.07-14

This release publishes the B2B pilot operating-system narrative across partner and developer surfaces.

  • Adds `/partners` copy for the pilot operating kit, including the Week 1 send pack, pre-send safety gate, post-demo advance path, and credential boundary.
  • Adds `/developers` copy for the public integration boundary, including API access scope, partner-gated credentials, and implementation expectations.
  • Adds B2B operating collateral for the Week 1 send pack, CRM snapshot, pre-send safety checklist, post-demo 24h plan, and consistency audit.
  • Extends the AEO surface guard so partner/developer pages and B2B collateral preserve stage gates, send boundaries, API promises, and forbidden claims.
2026-06-07

Pricing Partner API CTA intake

v2026.06.07-13

This local-only release aligns the pricing Partner API CTA with the shared B2B pilot intake flow.

  • Adds a prefilled partner-intake email body to the custom Partner API tier on `/pricing`.
  • Records Partner API tier clicks through the existing anonymous pilot-intent signal.
  • Adds localized privacy copy clarifying that CertiWatt does not receive or store the prefilled email body.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-07

Founder CTA pilot intake

v2026.06.07-12

This local-only release aligns the Founder Special CTA with the partner and developer pilot intake flow.

  • Adds a prefilled pilot-intake email body to the Founder Special primary CTA.
  • Records Founder CTA clicks through the existing anonymous pilot-intent signal.
  • Adds localized privacy copy clarifying that CertiWatt does not receive or store the prefilled email body.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-07

Yesido and WEKOME official-source expansion

v2026.06.07-11

This local-only release continues the official-source catalog expansion after the 2000+ milestone.

  • Adds 41 catalog records, bringing the local source of truth to 2046 power-bank models across 44 verified brand groups.
  • Adds Yesido and WEKOME as entity-backed brand groups using official product pages and productInfo pages.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 44 brand hubs, 58 long-tail verdicts, and 2 datasets, with 8906 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-07

Official-source 2000+ catalog expansion

v2026.06.07-10

This local-only release expands the catalog beyond the 2000-model coverage threshold with official manufacturer sources.

  • Adds 922 catalog records, bringing the local source of truth to 2005 power-bank models across 42 verified brand groups.
  • Adds BOROFONE, Vention, Trust, Xtorm, AOHI, Energizer, and Pisen as entity-backed brand groups, while expanding HOCO, Anker, Momax, AUKEY, CHOETECH, VEGER, and Baseus coverage.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 42 brand hubs, 58 long-tail verdicts, and 2 datasets, with 8734 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-07

Official-source 1000+ catalog expansion

v2026.06.07-09

This local-only release expands the catalog beyond the 1000-model coverage threshold with official manufacturer sources.

  • Adds 720 catalog records, bringing the local source of truth to 1083 power-bank models across 35 verified brand groups.
  • Expands existing coverage across oraimo, INIU, RAVPower, Anker, and prior official-source batches, then adds ACEFAST, Levelo, ESR, myCharge, mophie, and Scosche entity-backed brand groups.
  • Regenerates public-data, AEO, GSC tracking, and static sitemap artifacts; the AEO surface now exposes 52 question guides, 35 brand hubs, 58 long-tail verdicts, and 2 datasets, with 5018 sitemap URLs.
  • Keeps this pass local-only; no Cloudflare deploy was run.
2026-06-07

Oraimo official-source expansion

v2026.06.07-08

This release expands oraimo from three 20,000mAh samples into a broader regional power-bank cluster.

  • Adds 7 oraimo catalog records backed by official oraimo product pages.
  • Expands oraimo from 3 records to 10 total catalog models across PowerNova, Traveler Link, PowerBox, PowerFlow, and Toast families.
  • Covers 10,000mAh 37Wh records, 27,000mAh 99.9Wh near-limit records, 30,000mAh 111Wh over-threshold records, and a 40,000mAh 148Wh non-flyable traveler example.
2026-06-07

REMAX official-source expansion

v2026.06.07-07

This release expands REMAX from two samples into a broader regional accessory-brand cluster.

  • Adds 6 REMAX catalog records backed by REMAX Official Store product pages.
  • Expands REMAX from 2 records to 8 total catalog models across Hurlon, Radio, Energy Eye, Jane, Dot, Linon Pro, and Revolution families.
  • Covers 10,000mAh 37Wh entries, 20,000mAh 74Wh entries, older dual-input models, and a solar-positioned 20,000mAh traveler example while marking mAh-only pages as nominal-voltage derived.
2026-06-07

Green Lion official-source expansion

v2026.06.07-06

This release expands Green Lion from two samples into a broader Middle East accessory-brand cluster.

  • Adds 8 Green Lion catalog records backed by official Green Lion product pages or official Green Lion product documents.
  • Expands Green Lion from 2 records to 10 total catalog models across Ultra Thin, Nairo, Bridge, Power Bank, Power Mate, Transparent, PowerPack, Luzern, Rome, and SOHO families.
  • Covers 10,000mAh compact/integrated-cable records, 20,000mAh MagSafe/ultraslim/65W records, and 30,000mAh 111Wh over-threshold traveler examples.
2026-06-07

Promate official-source expansion

v2026.06.07-05

This release expands Promate from three samples into a broader current accessory-brand cluster.

  • Adds 10 Promate catalog records backed by official Promate product pages.
  • Expands Promate from 3 records to 13 total catalog models across Bolt, Titan, Mavrix, AuraTorq, PowerPod, Neo, and PowerPack families.
  • Covers 10,000mAh Apple Watch/wireless/built-in-cable/AC-charger records, 20,000mAh 35W/65W/130W records, and a 27,600mAh 99.36Wh near-limit laptop-class traveler example.
2026-06-07

JOYROOM official-source expansion

v2026.06.07-04

This release expands JOYROOM from two regional samples into a broader current accessory-brand cluster.

  • Adds 8 JOYROOM catalog records backed by official JOYROOM product pages.
  • Expands JOYROOM from 2 records to 10 total catalog models across JR-PR1, JR-PR2, JR-QP191, JR-QP192, JR-QP193, JR-PBF01, JR-PBF02, JR-PBF14, JR-W050, and JR-PBM01 families.
  • Covers 10,000mAh magnetic, retractable-cable, built-in-cable, 30W, and 22.5W examples plus 20,000mAh and 30,000mAh traveler records while keeping mAh-only evidence marked as nominal-voltage derived.
2026-06-07

Powerology official-source expansion

v2026.06.07-03

This release expands Powerology from a single PD/QC sample into a broader Middle East accessory-brand cluster.

  • Adds 9 Powerology catalog records backed by official Powerology product pages, guides, and manuals.
  • Expands Powerology from 1 record to 10 total catalog models across PPBCHA14, PPBCHA16, PPBCHA25, PPBCHA27, PPBCHA28, PPBCHA34, PPBCHA60, PPBCHA66, PPBCHA79, and PPBCHA99KH families.
  • Covers 10,000mAh PD/QC, MagSafe, built-in-cable, 15,000mAh mini 45W, 20,000mAh 65W/100W/solar, and 24,000mAh 100W laptop-class traveler examples.
2026-06-07

CHOETECH official-source expansion

v2026.06.07-02

This release expands CHOETECH from a single B729 sample into a broader current accessory-brand cluster.

  • Adds 10 CHOETECH catalog records backed by official CHOETECH product pages.
  • Expands CHOETECH from 1 record to 11 total catalog models across B653, B695, B696, B701, B702, B728, B729, B739, B750, B815, and B832 families.
  • Covers 10,000mAh magnetic/Qi2/watch-charging and built-in-cable records plus 20,000mAh 45W, 77Wh, and 130W laptop-class records while keeping mAh-only evidence marked as nominal-voltage derived.
2026-06-07

Canyon official-source expansion

v2026.06.07-01

This release expands Canyon from a single OnPower PB-600 record into a broader European accessory-brand cluster.

  • Adds 9 Canyon catalog records backed by official Canyon product pages.
  • Expands Canyon from 1 record to 10 total catalog models across OnPower 104, 150, 204, 240, 265, 301, 500, 510, 511, and PB-600 families.
  • Covers magnetic/Qi2, built-in-cable, 140W/165W laptop-class, 25,000mAh near-100Wh, and 30,000mAh over-100Wh traveler examples while keeping mAh-only pages marked as nominal-voltage derived.
2026-06-06

ADAM elements official-source expansion

v2026.06.06-29

This release expands ADAM elements from a single laptop-class sample into a broader Taiwan/Asia accessory-brand cluster.

  • Adds 10 ADAM elements catalog records backed by official ADAM elements product pages.
  • Expands ADAM elements from 1 record to 11 total catalog models across GRAVITY Pro, VIONTA Q/Qi2/L/B/T/GQ, solid-state, built-in-cable, and magnetic grip families.
  • Adds manufacturer-stated 18.5Wh, 19.25Wh, 19.35Wh, 38.5Wh, 38.7Wh, and 74Wh evidence, including multiple CCC/BSMI/Qi2 traveler-visible 2025-2026 power-bank records.
2026-06-06

LDNIO official-source expansion

v2026.06.06-28

This release expands LDNIO from a single built-in-cable sample into a broader regional accessory-brand cluster.

  • Adds 9 LDNIO catalog records backed by official LDNIO product pages.
  • Expands LDNIO from 1 record to 10 total catalog models across PL, PQ, wireless, built-in-cable, digital-display, 65W, and 30,000mAh families.
  • Adds official 37Wh, 38.5Wh, 74Wh, 77Wh, and 111Wh evidence while flagging one inconsistent PQ22 energy row as nominal-voltage derived.
2026-06-06

VEGER official-source expansion

v2026.06.06-27

This release expands VEGER from a single high-power sample into a broader regional travel power-bank cluster.

  • Adds 8 VEGER catalog records backed by official VEGER product pages.
  • Expands VEGER from 1 record to 9 total catalog models across L10S, L11, L20, L30S, A10, C11, S20, T100, and the existing 45W multi-port family.
  • Covers 10,000mAh, 20,000mAh, and 30,000mAh use cases while keeping mAh-only pages marked as nominal-voltage derived.
2026-06-06

HOCO official-source expansion

v2026.06.06-26

This release expands HOCO from a single regional sample into a broader travel power-bank cluster.

  • Adds 11 HOCO catalog records backed by official HOCO product pages.
  • Expands HOCO from 1 record to 12 total catalog models across Stability, Victorious, Essence, Universe, Powerful, Tough, Element, and Electric families.
  • Adds manufacturer-stated 37Wh, 72Wh, 74Wh, 96Wh, and 111Wh examples, including several 30,000mAh over-100Wh verdict examples and the Q17B 130W high-output model.
2026-06-06

Porodo official-source expansion

v2026.06.06-25

This release expands Porodo from a single regional sample into a broader Middle East retail brand cluster.

  • Adds 7 Porodo catalog records backed by official Porodo product pages or official Porodo product documents.
  • Expands Porodo from 1 record to 8 total catalog models across MagSafe, metallic, built-in cable, retractable-cable, and 30,000mAh integrated-cable families.
  • Preserves manufacturer-stated 74Wh, 77Wh, and 111Wh evidence where Porodo publishes it, and marks the remaining mAh-only pages as nominal-voltage derived.
2026-06-06

4smarts official-source expansion

v2026.06.06-24

This release expands 4smarts from a single regional sample into a more useful brand cluster.

  • Adds 5 4smarts catalog records backed by official 4smarts product pages or indexed official product-page evidence.
  • Expands 4smarts from 1 record to 6 total catalog models across Pocket, VoltHub Pro, TitanPack UltiMag, Lucid Ultra, and Hybrid Charger families.
  • Keeps manufacturer-stated Wh where 4smarts publishes it and marks the remaining records as nominal-voltage derived instead of overclaiming source precision.
2026-06-06

Sandberg official-source expansion

v2026.06.06-23

This release fills out Sandberg coverage using official Sandberg product pages, support pages, and product PDFs.

  • Adds 24 Sandberg catalog records with manufacturer-stated mAh, voltage, and Wh evidence.
  • Expands Sandberg from 2 records to 26 total catalog models across solar, outdoor, nano, survivor, laptop, travel, and large-capacity families.
  • Adds useful over-100Wh examples for conservative travel verdicts while keeping model evidence tied to official Sandberg sources.
2026-06-06

Momax full official-source expansion

v2026.06.06-22

This release fills out Momax coverage using the official Momax power-bank collection and product pages.

  • Adds 39 Momax catalog records with explicit manufacturer-stated Wh evidence.
  • Expands Momax from a single 20,000mAh sample to 40 total catalog models across compact magnetic, built-in cable, hybrid GaN, 20,000mAh, and 25,000mAh families.
  • Keeps the expansion on official Momax product pages only, including SKU, Wh, dimensions, and weight where published.
2026-06-06

Regional catalog expansion IV

v2026.06.06-21

This release adds another official-source batch for non-mainstream and regional travel power-bank coverage.

  • Adds 6 catalog records across Momax, Sandberg, REMAX, and 4smarts.
  • Adds Momax, Sandberg, REMAX, and 4smarts as brand entities for `/brand` and public data consistency.
  • Keeps every new record in the 74Wh travel-demand band with official product-page or brand-store Wh evidence.
2026-06-06

Regional catalog expansion III

v2026.06.06-20

This release expands the source-backed catalog with another set of official manufacturer pages for regional travel power-bank brands.

  • Adds 6 catalog records across Canyon, ADAM elements, Powerology, Green Lion, and CHOETECH.
  • Adds Canyon, ADAM elements, Powerology, Green Lion, and CHOETECH as brand entities for `/brand` and public data consistency.
  • Keeps the batch in the 60-80Wh travel-demand band with manufacturer-stated Wh evidence on every new record.
2026-06-06

Regional catalog expansion II

v2026.06.06-19

This release adds another official-source batch for regional and less-mainstream travel power-bank brands.

  • Adds 6 catalog records across oraimo, HOCO, VEGER, and LDNIO, backed by official manufacturer product pages.
  • Adds oraimo, HOCO, VEGER, and LDNIO as brand entities for `/brand` and public data consistency.
  • Keeps every new record on manufacturer-stated Wh evidence, including 74Wh and 77Wh 20,000mAh models in the active 60-80Wh demand band.
2026-06-06

Regional catalog breadth

v2026.06.06-18

This release expands the source-backed catalog with regional travel power-bank brands that map to the active 60-80Wh manual-demand band.

  • Adds 6 catalog records across JOYROOM, Promate, and Porodo, backed by official manufacturer product pages.
  • Adds JOYROOM, Promate, and Porodo as brand entities for `/brand` and public data consistency.
  • Keeps the batch focused on manufacturer-stated 20,000mAh / 74Wh evidence instead of marketplace-derived specs.
2026-06-06

AUKEY catalog breadth

v2026.06.06-17

This release expands the source-backed catalog with AUKEY power banks in the active 60-80Wh demand band.

  • Adds 6 AUKEY catalog records backed by official AUKEY product pages or AUKEY PDF manuals.
  • Adds AUKEY as a brand entity for `/brand` and public data consistency.
  • Keeps all six new AUKEY records on manufacturer-stated Wh evidence, avoiding marketplace-derived specs.
2026-06-06

Pilot intent tracking

v2026.06.06-16

This release makes the B2B pilot funnel measurable by tracking partner and developer pilot CTA clicks and surfacing them in the protected traffic views.

  • Adds `POST /api/pilot-intents` as a best-effort operator signal for pilot CTA clicks.
  • Adds a client-side `PilotIntentLink` that records intent while preserving the prefilled mailto flow.
  • Adds pilot intent counts and CTA source mix to `/traffic`, `/traffic/partner`, and `/api/traffic`.
  • Updates the Privacy Policy and adds a guard test for anonymous pilot CTA and catalog no-match telemetry disclosures.
  • Adds privacy boundary notes beside pilot CTAs on `/partners` and `/developers`.
  • Adds an API boundary test so operational telemetry routes stay out of OpenAPI and `llms.txt` partner discovery.
2026-06-06

Trip Battery Pass API

v2026.06.06-15

This release turns the multi-segment Trip Battery Pass into a documented API surface and tightens the developer and partner pages around embedded B2B compliance decisions.

  • Adds `POST /api/trips/verify` for aggregate and segment-by-segment verdicts across origin, transit, and destination.
  • Adds OpenAPI schemas and tests for `TripVerifyResponse` and `TripVerdictSegment`.
  • Updates `/developers`, `/partners`, and `llms.txt` to position CertiWatt as an embeddable compliance decision layer for travel platforms.
2026-06-06

Partner entrypoint promotion

v2026.06.06-14

This release promotes the partner path into the desktop primary navigation and updates the homepage partner card around airline policy intelligence.

  • Moves Partners from the desktop More menu into the primary navigation beside API and Pricing.
  • Keeps the mobile navigation unchanged because Partners and Pricing were already first-class entries there.
  • Rewords the homepage partner audience card toward partner-only airline policy intelligence and partner access.
2026-06-06

Partner funnel path links

v2026.06.06-13

This release adds a commercial path section to the partners page so visitors can move from partner positioning into pricing, Founder Special, and ROI.

  • Adds three partner funnel cards linking to `/pricing`, `/founder-special`, and `/roi`.
  • Makes the public preview versus partner-key policy detail boundary reachable directly from the partner entry page.
  • Connects partner positioning to the launch package and ROI explanation without relying only on mailto or developer docs.
2026-06-06

Partner traffic policy-intelligence brief

v2026.06.06-12

This release reframes the token-protected partner traffic brief around airline policy-intelligence demand signals.

  • Updates `/traffic/partner` to pitch route-, airline-, model-, recall-, and ruleset-specific demand instead of generic battery traffic.
  • Adds Partner API, full airline policy detail, change history, policy-change digest, and ruleset replay pins to the outreach narrative.
  • Refines the pilot ask around verification checks, avoided support contacts, policy lookup consistency, replay requests, and Partner API conversion.
2026-06-06

Partner ROI value layer

v2026.06.06-11

This release extends the ROI page beyond ticket reduction to explain the value of consistent policy lookup, change monitoring, and replay audit.

  • Adds a partner-intelligence lead to `/roi` so Founder Special value is not framed only as a support-cost calculator.
  • Adds three non-calculator value cards for policy lookup consistency, policy-change monitoring, and ruleset replay audit.
  • Extends locale copy audit coverage to `/roi` alongside pricing and Founder Special.
2026-06-06

Founder Special partner-intelligence alignment

v2026.06.06-10

This release aligns the Founder Special landing page with the partner-only airline policy intelligence package introduced on pricing and partners.

  • Updates Founder Special inclusions around partner API keys, full airline policy detail, ruleset replay pinning, and policy-change digest.
  • Adds partner access boundary language so anonymous preview and partner-key detail remain commercially distinct.
  • Extends the locale copy audit to cover `/pricing` and `/founder-special` in zh-CN, Korean, and Japanese.
2026-06-06

Partner policy-intelligence packaging

v2026.06.06-9

This release makes the partner and pricing pages explicit about partner-only airline policy detail, policy-change tracking, and replayable verdicts.

  • Positions CertiWatt as airline policy intelligence for partners, not just a public battery FAQ.
  • Separates public airline-policy preview access from partner-key access to full policy fields, citations, and change history.
  • Adds a custom Partner API tier for higher-volume teams that need source-watch rows, review queues, SLA, and agent/MCP enablement.
2026-06-06

Replay API documentation

v2026.06.06-8

This release makes ruleset replay discoverable in the developer page, OpenAPI contract, and API design notes.

  • Documents options.ruleset_version as a replay pin for partner support and audit workflows.
  • Clarifies that replay uses an effective-date rule snapshot and does not export the private ruleset database.
  • Adds replay-related agent discovery terms to the /developers structured data.
2026-06-06

Ruleset replay pinning

v2026.06.06-7

This release adds ruleset-version replay support so partner and audit calls can pin verdicts to an effective-date snapshot.

  • Adds a pinned ruleset loader that filters active rules and recalls by effective date while preserving the requested ruleset_version in the verdict.
  • Connects POST /api/verify to options.ruleset_version for replay-style partner and audit requests.
  • Promotes the old golden replay case from a soft warning to a hard passing assertion, bringing the golden suite to 316/316 PASS with no WARN.
2026-06-06

Traveler activity trust copy

v2026.06.06-6

This release keeps the homepage traveler activity signal explicit about privacy and avoids any live visitor-count implication.

  • Adds the privacy-preserving activity statement to the compact homepage activity module rendered for crawlers and assistive technology.
  • Keeps the signal framed as anonymous verification demand, not a live visitor counter.
  • Preserves the existing visual layout while restoring the indexability smoke-test contract.
2026-06-06

Seventh Chinese 3C handling-intent batch

v2026.06.06-5

This release expands Simplified Chinese China 3C SEO coverage into two-power-bank quantity checks, checked-luggage handling, and onboard use or charging intents.

  • Adds Chinese-localized guides for carrying two 3C power banks, checked-luggage risk even with 3C, and onboard charging or use after China screening.
  • Connects the new pages through the 2026 question cluster, Chinese guide hub, zh-CN homepage module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 52 question guides, 23 localized Chinese guide URLs, 174 tracked GSC URLs, 1210 sitemap URLs, and 162 priority sitemap URLs.
2026-06-06

Sixth Chinese 3C evidence-intent batch

v2026.06.06-4

This release expands Simplified Chinese China 3C SEO coverage into foreign-bought power banks, 3C-on-packaging-only claims, and shopping-page evidence intents.

  • Adds Chinese-localized guides for foreign-bought no-3C power banks, 3C shown only on packaging, and shopping-page or seller-screenshot evidence.
  • Connects the new pages through the 2026 question cluster, Chinese guide hub, zh-CN homepage module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 49 question guides, 20 localized Chinese guide URLs, 168 tracked GSC URLs, 1198 sitemap URLs, and 156 priority sitemap URLs.
2026-06-06

Fifth Chinese 3C long-tail batch

v2026.06.06-3

This release expands Simplified Chinese China 3C SEO coverage into international-departure, CCC QR-code, and 3C certificate-number evidence intents.

  • Adds Chinese-localized guides for China international departures, CCC traceability QR codes, and 3C certificate-number evidence risks.
  • Connects the new pages through the 2026 question cluster, Chinese guide hub, zh-CN homepage module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 46 question guides, 17 localized Chinese guide URLs, 162 tracked GSC URLs, 1186 sitemap URLs, and 150 priority sitemap URLs.
2026-06-06

Fourth Chinese 3C long-tail batch

v2026.06.06-2

This release expands Simplified Chinese China 3C SEO coverage into unclear-label, recall-versus-3C, and GB 47372-2026 explainer intents.

  • Adds Chinese-localized guides for unclear 3C marks, recalled power banks that still show 3C, and GB 47372-2026 flight-rule confusion.
  • Connects the new pages through the 2026 question cluster, Chinese guide hub, zh-CN homepage module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 43 question guides, 14 localized Chinese guide URLs, 156 tracked GSC URLs, 1174 sitemap URLs, and 144 priority sitemap URLs.
2026-06-06

Search Console structured-data and HTTPS cleanup

v2026.06.06-1

This release fixes Google Search Console rich-result and HTTPS drilldown issues without changing the public verifier workflow.

  • Adds Product compliance review JSON-LD to catalog and verdict Product nodes so Product snippets no longer report missing offers, review, or aggregateRating.
  • Adds missing Dataset descriptions for verdict rule datasets and guide ruleset references.
  • Redirects production HTTP requests for certiwatt.app and www.certiwatt.app to HTTPS with a permanent 308, and adds middleware regression coverage.
2026-06-05

Third Chinese 3C long-tail batch

v2026.06.05-4

This release expands Simplified Chinese China 3C SEO coverage into capacity, label-identification, and airport temporary-storage intents.

  • Adds Chinese-localized guides for 20,000mAh China flight checks, finding the 3C / CCC mark, and China airport temporary-storage handling.
  • Connects the new pages through the 2026 question cluster, Chinese guide hub, zh-CN homepage module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 40 question guides, 11 localized Chinese guide URLs, 150 tracked GSC URLs, 1162 sitemap URLs, and 138 priority sitemap URLs.
2026-06-05

Second Chinese 3C long-tail batch

v2026.06.05-3

This release expands Simplified Chinese China 3C SEO coverage with brand-intent and airport-refusal guides, then strengthens localized internal discovery paths.

  • Adds Romoss, Anker, Xiaomi, and China-airport-refusal China 3C guide pages with Simplified Chinese localized copy and exact-model caveats.
  • Connects the new pages through the 2026 question cluster, the Chinese guide hub, the zh-CN homepage China 3C module, llms.txt, priority sitemap, and GSC tracking manifest.
  • Raises AEO/GSC/sitemap baselines to 37 question guides, 8 localized Chinese guide URLs, 144 tracked GSC URLs, 1150 sitemap URLs, and 132 priority sitemap URLs.
2026-06-05

Verifier manual fallback for unknown models

v2026.06.05-2

This release keeps the public verifier useful when a traveler enters an unknown catalog model together with complete printed capacity data.

  • Allows unknown `model_id` requests to continue through the rules engine when manual Wh is supplied, while still warning with `MODEL_NOT_FOUND`.
  • Preserves manual `manual_wh`, `manual_mah`, and `manual_v` query parameters on `/verify` result pages instead of dropping them behind `model_id`.
  • Adds golden and deploy smoke coverage for the unknown-model manual-spec fallback across API and public verifier surfaces.
2026-06-05

Chinese 3C SEO and agent discovery

v2026.06.05-1

This release adds Chinese-language China 3C power-bank rule coverage and makes localized guide URLs explicit for crawlers, Search Console, and agents.

  • Adds the main Chinese China 3C flight-rule guide plus focused no-3C, under-100Wh-no-3C, and China domestic-flight rule pages.
  • Updates sitemap, priority sitemap, GSC tracking, guide hub links, verifier links, catalog related guides, and hreflang/canonical guards for zh-CN pages.
  • Extends the AEO manifest with `question_guides[].localized_urls` and documents that contract in llms.txt, /developers, and /mcp.
2026-06-02

Airline policy database boundary

v2026.06.02-1

This release protects Airline Policy Intelligence as a CertiWatt product surface while preserving public discovery, trust, and citation signals.

  • Changes public data from a rules snapshot to a limited coverage preview with a restricted rights label.
  • Splits airline policy APIs so anonymous requests return preview fields while partner/authenticated requests retain full policy fields, rule logic, citations, change history, and watch details.
  • Updates airline policy hubs, AEO metadata, llms.txt, OpenAPI, and regression tests to enforce the public-preview versus partner-detail boundary.
2026-05-31

Guide and verifier structured data

v2026.05.31-11

This release adds structured-data coverage for guide short answers and live verifier results.

  • Adds FAQPage JSON-LD to `/guides`, mapping each question guide title to its short answer.
  • Adds QAPage JSON-LD to `/verify` result pages with the accepted verdict answer and citation metadata.
  • Extends the indexability smoke test to guard homepage Organization/WebApplication JSON-LD, guide FAQPage JSON-LD, and verifier QAPage JSON-LD.
2026-05-31

Verdict JSON-LD fully in head

v2026.05.31-10

This release moves every verdict-page structured-data block into the initial HTML head.

  • Emits Article, provenance Dataset, BreadcrumbList, FAQPage, and conditional/banned HowTo JSON-LD from the root layout head injector.
  • Removes the remaining body-level verdict JSON-LD scripts from `/p/[model]/[airline]/[country]`.
  • Updates the AEO guard so crawler-critical verdict structured data must stay in the head path.
2026-05-31

Verdict Article JSON-LD in head

v2026.05.31-09

This release moves verdict-specific Article JSON-LD into the initial HTML head for crawler compatibility.

  • Adds a root-layout head injector for `/p/[model]/[airline]/[country]` Article JSON-LD.
  • Removes the duplicate body-level Article JSON-LD script from programmatic verdict pages.
  • Keeps provenance, FAQ, breadcrumb, and HowTo JSON-LD on the rendered page while making the primary Article detectable by head-only crawlers.
2026-05-31

Recall lookup AEO metadata

v2026.05.31-08

This release makes official recall lookup URLs easier for answer engines to discover from the public recall dataset.

  • Adds `affected_serials.explicit_list_url` to the `/recalls` Dataset JSON-LD measured fields.
  • Adds per-recall JSON-LD properties for serial match basis and official manufacturer lookup URLs.
  • Updates the AEO manifest generator and `test:aeo` guard so the lookup URL field remains part of the dataset contract.
2026-05-31

Developer recall lookup docs

v2026.05.31-07

This release documents official recall lookup URLs on the developer surface.

  • Adds `affected_serials.explicit_list_url` to the Recall serial API field guide on `/developers`.
  • Updates the Recall API sample response to show the manufacturer lookup URL alongside serial evaluation.
  • Adds the lookup field to developer-page structured metadata for agent discovery.
2026-05-31

OpenAPI recall lookup guard

v2026.05.31-06

This release locks the documented Recall API lookup URL field.

  • Extends `test:openapi` to require `RecallIntelligence.affected_serials`.
  • Verifies `affected_serials.explicit_list_url` remains documented as a URI.
  • Keeps partner and agent schema expectations aligned with the runtime recall lookup contract.
2026-05-31

Recall lookup regression guard

v2026.05.31-05

This release locks the official lookup URL contract for Recall API responses.

  • Extends `test:recalls` to verify recall list responses preserve `affected_serials.explicit_list_url`.
  • Extends device recall response coverage for manufacturer-list recalls that require `external_list_required`.
  • Protects the verifier and `/recalls` official lookup links from future response-shape drift.
2026-05-31

Recall page official lookup

v2026.05.31-04

This release aligns the public recall serial checker with the verifier lookup flow.

  • Adds official manufacturer lookup links to `/recalls` serial-check results.
  • Uses `affected_serials.explicit_list_url` first, with manufacturer citation fallback.
  • Keeps affected, not-affected, and external-list-required outcomes action-oriented on both public recall surfaces.
2026-05-31

Verifier official recall lookup

v2026.05.31-03

This release adds official manufacturer lookup links to verifier serial recall results.

  • Shows the official recall lookup URL after an inline serial check when the recall record provides one.
  • Falls back to the manufacturer citation URL when a dedicated explicit-list URL is not present.
  • Keeps recall checks model-specific while making manufacturer-list outcomes actionable from the verifier.
2026-05-31

Verifier serial recall check

v2026.05.31-02

This release brings serial-level recall checking into the main verifier form.

  • Adds an inline serial check action when a selected catalog model has an active recall.
  • Shows affected, not-affected, and manufacturer-lookup-required outcomes before the user runs the full trip verdict.
  • Keeps the verifier submission path unchanged: checked serials still flow into `/verify` and recall evidence remains model-specific.
2026-05-31

Recall serial AEO guide

v2026.05.31-01

This release adds an answer-engine guide for power-bank recall serial number checks.

  • Adds `/guides/power-bank-recall-serial-number-check` for affected, not-affected, and unknown recall outcomes.
  • Explains `external_list_required` and why manufacturer-list recalls should not be guessed locally.
  • Links the guide into the 2026 rules hub and recall-risk guide cluster.
2026-05-30

Battery Recall Intelligence launch and serial API buildout

v2026.05.30-28

This release consolidates the May 30 launch of Battery Recall Intelligence across public pages, APIs, AEO surfaces, verifier behavior, and regression guards.

  • Launches model-specific Battery Recall Intelligence with public `/recalls`, `/api/recalls`, and `/api/devices/[modelId]/recalls` surfaces, while preserving the no brand-level inference policy.
  • Expands recall coverage to 8 active recalls and 154 catalog models across 12 brand groups, including Anker, Casely, and INIU model-specific recall records.
  • Adds recall discovery to `/aeo-manifest.json`, recall-specific AEO guides, and curated long-tail verdict pages, with regenerated GSC, sitemap, and priority sitemap baselines.
  • Adds `verdict_impact` and `serial_evaluation` semantics for affected, unknown, clear, and manufacturer-list-required outcomes across Recall API, device detail, verifier, and `/recalls` page responses.
  • Tightens partner and agent contracts with OpenAPI schemas, typed response interfaces, API contract docs, developer/MCP copy, and deploy-time guards for OpenAPI, recall behavior, share URLs, and AEO drift.
  • Updates the public verifier and share URLs so serial-aware recall checks remain reproducible and visible in verdict results.
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 the permanent public tier 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.