Skip to content

Add Marriott search comparison and safe stay preparation - #66

Merged
yummybomb merged 12 commits into
mainfrom
hypeship/marriott-hotel-tools
Oct 20, 2026
Merged

yummybomb merged 12 commits into
mainfrom
hypeship/marriott-hotel-tools

Conversation

@yummybomb

@yummybomb yummybomb commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds three public page tools for marriott.com, scoped to https://www.marriott.com/*:

  • search_hotels: observed destination/date/party queries, cash/points availability and page-scoped cash comparison grouped by currency. Membership labels remain explicit; all-room stay totals are estimates, not checkout prices or held inventory. Exact decimal rounding and serialization guards exclude unsafe/inexact quotes.
  • get_hotel: bounded public overview/FAQ facts, cancellation and recognition of observed HTTP-200 Akamai challenges.
  • prepare_reservation: validates exact property code and matching canonical hotel URL before requests, verifies the public overview, then returns an unsaved itinerary and manual handoff. Dates/guests are not populated on the site; no rate is requested or selected.

Malformed/approval/account/payment inputs fail before interaction. Outputs are allowlisted and bounded; no navigation, storage writes or automatic retries. Entire namespace replacement preserves the existing tools. No shared-runtime or other-domain changes.

Safety and limitations

  • No executable booking, holds, reservation cancellation or payment. Trusted human approval binding account, rate, dates, total cost and terms is unavailable, so execution is deliberately absent. Confirmation fields cannot enable it.
  • Auth remains deferred: no login, loyalty/account reads, owned reservations, saves or preferences.
  • Detailed room/rate plans and cancellation/deposit terms are omitted because the observed flow requires rates-tab context. Preparation is an unpriced, unsaved manual handoff, not a reservation draft or confirmation.
  • Historical public access was blocked: search HTTP429 and overview HTTP200 Akamai. No bypass/reconfiguration loops. Final-source live success and live-extension parity are unverified.
  • Undocumented public query signatures and overview JSON-LD may change. In-flight document destruction and Chrome's live cancellation dispatch remain unverified; native-Response cancellation is fixture-tested.
  • Extreme escaped-text output stays below the mandatory 1 MiB limit but can exceed Kernel's API-specific 240 KiB cap, which was not tested on this head. Smaller page limits may be needed for consumers with lower caps.

Testing and independent QA

  • Registry validator: 82 tools valid.
  • Full suite: 1785 passed, 0 failed; independently repeated on Node24 LTS and26.
  • Marriott suite: 208 passed; outputs also checked with the extension schema validator.
  • Extension invoker/page-tools/sidepanel regressions: 5 passed.
  • Author actual unpacked Chromium153 extension: whole-three-tool namespace replacement, discovery/invocation, comparison, facts, unsaved preparation, rate-limit failure and invalid approval before requests passed against intercepted fabricated responses only.
  • Independent final implementation QA: PASS, exact source 840f6d97e20f536562a7f15fec4718fa6ec1ec65, no remaining concrete findings. 321 additional arithmetic/bounds probes and 2442 independent decimal/JSON-roundtrip probes passed.
  • Independent actual unpacked Chromium153 extension: 24/24 fixture checks, 21 invocations, all outputs schema-valid. Covered native preservation/stale references, all-three namespace replacement, redirects, failures, approval/account/payment rejection and unchanged tabs/storage. Fixture success is not live Marriott success.
  • Kernel evidence is historical BLOCKED, not final-source success: full namespace discovered;429 search and200 challenge overview failures. No live mutations or new attempts during rechecks.

All three registry entries are qa_passed, not verified. Only README/registry evidence/status metadata follows the reviewed implementation; JavaScript SHA-256 digests are recorded in the domain README and unchanged. The PR remains draft; no merge or auto-merge.

@yummybomb
yummybomb force-pushed the hypeship/marriott-hotel-tools branch from 0726e05 to e3b944d Compare September 29, 2026 21:51
@yummybomb yummybomb changed the title marriott.com: search_hotels and get_hotel page tools Add Marriott search comparison and safe stay preparation Sep 30, 2026
@yummybomb
yummybomb marked this pull request as ready for review September 30, 2026 14:52
@yummybomb
yummybomb merged commit 0514e76 into main Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant