mirror of
https://github.com/hanzo-apps/hanzo.ai.git
synced 2026-10-30 14:58:08 +00:00
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]>
17 lines
698 B
TypeScript
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
|
|
}
|