Ledger
What changed
How and who for the hotel job—verified when attested.
28 October 2026
Catalog quality gate: pruned to 48 sourced hospitality JTBDs, synthetic wave slugs quarantined, CSP + zero-IP telemetry
Active catalog pruned to 48 real, sourced hospitality JTBDs across GM, owner, and tech desks, with 60 providers and 43 cited peer case studies. All 2,028 generated wave job slugs, 2,032 wave provider slugs, and 2,027 wave case slugs (6,087 total) are quarantined in data/quarantine/quarantined-slugs-2026-10-28.json, excluded from /sitemap.xml, /jobs, and /api/v1/jobs, and served with X-Robots-Tag: noindex, nofollow on direct lookup. Production Content-Security-Policy header added across all routes and zero-IP /api/telemetry counter wired. Verified Outcome is not insurance.
19 October 2026
Canonical host follows the live Vercel origin
harbor.signalry.ai is still NXDOMAIN, so sitemap, robots, canonical, Open Graph, llms.txt, OpenAPI, JSON-LD, and the agent card use https://jtbd-three.vercel.app unless VERCEL_PROJECT_PRODUCTION_URL is set. https://harbor.signalry.ai is used only when HARBOR_PRIMARY_HOST_LIVE=1. NEXT_PUBLIC_SITE_URL is ignored until then. www.harbor.signalry.ai still 308s to the harbor apex. The Vercel host is not redirected. Verified Outcome is not insurance.
12 October 2026
Contribution doors on the home, job, and provider pages
Home, /jobs, each job, and each provider now show three doors in the same band: describe your job, claim a listing, and record a result. A claim stays unverified pending. A result stays reported. Harbor by Signalry does not mark either verified from the form. Verified Outcome is not insurance.
12 October 2026
Launch checklist and one hostname
/launch-checklist and docs/launch-checklist.md list the human steps still blocking harbor.signalry.ai: Vercel import, NEXT_PUBLIC_SITE_URL, KV_REST_API_URL and KV_REST_API_TOKEN, the primary domain, and a Cloudflare CNAME harbor to cname.vercel-dns.com with DNS only. A www host 308s to the apex. The site URL strips www. The page is noindex. Verified Outcome is not insurance.
12 October 2026
Versioned API and MCP
GET /api/v1 lists jobs, a job by slug, providers, cases, hotel search, and buy/sell tapes with stable ids and pagination. CORS stays open on GET. POST /api/v1/listings/claim and POST /api/v1/outcomes stay rate-limited and unverified. /openapi.json includes the v1 paths. MCP Streamable HTTP is at /mcp and /api/mcp with search_jobs, get_job, find_providers, submit_listing, and submit_outcome. Job pages add Service and FAQ JSON-LD next to HowTo. llms.txt points at the API and MCP. Verified Outcome is not insurance.
12 October 2026
Hotels can report an outcome
/outcomes/submit records a hotel result against a catalog job and provider: metric, before, after, and dates. It lands in the same queue as listing claims and is shown as reported until a person checks evidence. The public list omits the email. The form cannot mark a row verified. Verified Outcome is not insurance.
12 October 2026
Suppliers can claim a listing
/suppliers/join and Claim this listing on every provider page take a company, the jobs served, regions, and a hotel reference. The packet is queued as unverified pending. /certify explains self-declared, reference-checked, and outcome-verified. A badge stays Not certified until evidence is on the record. The form cannot mark anything verified. Verified Outcome is not insurance. Durable storage needs KV_REST_API_URL and KV_REST_API_TOKEN; without them the file queue is local.
12 October 2026
Describe your job opens a brief
Home and /jobs now take a sentence with no account and open the closest catalog job. The first screen of a job is a scoped brief, a when-not-to-buy line, a provider shortlist, and a markdown brief you can copy, download at /jobs/{slug}/brief, or print. A weak sentence stays on the catalog. Harbor by Signalry will not invent a job, a price, or a verification. Verified Outcome is not insurance.
19 September 2026
SEO titles end · Harbor by Signalry
Document, Open Graph, and Twitter titles were ending on a bare Harbor (· Harbor, or · Harbor · hotel JTBD). That word is the CNCF registry in search (goharbor.io). qualifySeoTitle and the metadata title template now use Harbor by Signalry. A title that is only Harbor becomes Harbor by Signalry. A title that already names Harbor by Signalry stays. A title with no Harbor ends · Harbor by Signalry. The catalog title lock still requires unique job document titles. This is Harbor by Signalry, a hotels-only ledger.
8 September 2026
Harbor core — brand system, denser catalog, calmer UI
Wordmark and formal tokens (paper, forest, brass). Search feels considered — a short match delay, live-job starters, labeled empty states. Channel and region join stack-fit. Weekly ops is cards on a phone. Four new hotel jobs: banquet guarantee, group cutoff, lost-and-found, breakfast count — with people, demo software, an agent, and peer cases. Advice, claimed, and verified stay on the cards.
7 September 2026
Weekly ops cadence, scored vendor checklist, fit-sorted compare
/packs/weekly-ops is the Monday co-pilot: ten jobs on a week cadence. Job pages score a weighted vendor checklist locally. Compare sorts by fit and refuses to invent SLA or switch cost. Three jobs now carry a structured 7-day plan (theme, owner, risk, exit).
7 September 2026
Hotelier utility: print briefs, worksheets, stack fit, packs
How briefs print to one page. Decision worksheets and a 7-day plan sit on every job. Compare three providers. Filter by PMS archetype, keys, and flag. Weekly ops pack and owner pack. Shortlist exports CSV. Verified-outcome calculator is a stub — not insurance.
7 September 2026
Persona landings carry how, who, and proof
GM, owner, and tech landings now include featured jobs, ranked providers, peer cases, desk FAQs, and a verified-outcome intent. Agents get /api/catalog and /api/jobs/{slug}/cases.
September 2026
Trust ladder
Every claim is advice, claimed, or verified. Agents must resolve by slug and never invent metrics.