Files
zeekayandHanzo Dev bdb23e6c87 write like the product works, not like a brochure about it
A sweep of every marketing surface for the vocabulary that says a feeling
instead of a mechanism. 73 instances of seamless, effortless, empowers, robust,
cutting-edge, world-class, blazing fast, state-of-the-art, harness the full
power, comprehensive-spanning-a-wide-range. None of them survived, and none was
swapped for a quieter synonym -- each one is replaced by the concrete thing the
page could already point at. "Seamless gasless experiences" becomes "let users
transact without a native token". "Lightning Fast" becomes "Low Latency". Where
nothing concrete was available, the sentence got shorter rather than vaguer.

Three shapes went with them.

"Coming soon" is the weakest thing a product page can say: it advertises an
absence. Two AI-studio tabs were nothing BUT that placeholder and are deleted
along with their toolbar buttons; a C++ SDK card whose install did not resolve
is gone; a Kotlin card that already shipped from JitPack now says so. Three
dead `soon` branches went with them, and the status unions lost the member no
entry carried -- the maps are keyed by the union, so a stale key is now a
compile error rather than a rendered promise.

The blockchain roadmap argued with the page above it. It listed the DEX API as
"planned" and bridges as "in progress" for Q2 2026, in August, while both ship
as products in the grid forty lines earlier. A timeline whose promises have all
been kept makes shipped work look unshipped, so it is gone.

And "SOC 2 audit in progress" turned up in four more places -- a badge, a list,
a footnote with a dangling asterisk, an investor line. All now say what is true:
compatible with SOC 2, continual internal audits, report available upon request.
/trust's own status section led with the frameworks we lack; it leads with the
controls now.

Two gates moved with the rule rather than being worked around, since either one
would have pulled the copy straight back:

  ci/bin/certclaims accepted any sentence carrying a denial, which let every
  hedge through -- "audit in progress" passed while "certified" failed, and both
  are the same defect. It now rejects the certificate words AND every hedge, and
  accepts control alignment and an offer of a document we do send. It exempts
  the files whose job is to quote what they forbid: the agent-instruction file
  and the copy gates themselves.

  e2e/gates/trust-copy.spec.ts asserted the literal denial sentence and banned
  "compliant with" and "audit report" outright. Those are not the claim --
  "certified" describes a document an auditor issued, "compatible with"
  describes our controls, and the internal audit report exists. It now bans the
  certificate, every hedge, and, new, any sentence naming a framework to say we
  lack it.

LLM.md carried the old vocabulary as policy -- it instructed exactly the words
this commit removes. That is where the drift came from, so it is rewritten too.

Also: the agency sentence existed as five hardcoded copies, already diverging.
They read partners.hanzoAgency from lib/constants/brand.ts now. Two page titles
were reunited with the h1 they are supposed to be.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-15 21:48:35 -07:00

17 lines
698 B
TypeScript

import type { Metadata } from 'next'
import { pageMeta } from '@/lib/page-meta'
// The page is 'use client', which cannot export metadata — so its title and
// description live here, beside it. Both are the page's OWN words: the title is
// its <h1> and the description its lede, so a tab, a search result and the page
// itself say the same thing.
export const metadata: Metadata = pageMeta({
title: 'Hanzo Payments',
description: 'One integration, and the processor becomes a routing decision. A switch between your checkout and the companies that move the money.',
path: '/payments',
})
export default function Layout({ children }: { children: React.ReactNode }) {
return children
}