docs(m66): nanos shape + posture-dispatched stage rates + SUPPORT_EMAIL snippet#48
Merged
Merged
Conversation
…IL snippet
Companion docs PR for usezombie/usezombie#feat/m66-001-byok-retirement.
snippets/rates.mdx — display strings now mirror the new four-constant
shape: STARTER_CREDIT ($5, unchanged), EVENT_RATE ("free", was $0.01),
STAGE_PLATFORM ($0.001), STAGE_SELF_MANAGED ($0.0001). Identifier names
match Zig + website TS + app TS + zombiectl JS exports identifier-for-
identifier per the cross-tier parity rule.
snippets/contact.mdx — new file exporting SUPPORT_EMAIL =
"usezombie@agentmail.to". Mirrors the per-runtime constants added in
the lead PR. Future address rotations land as a coordinated bump in
all five places.
changelog.mdx:
- New <Update label="May 11, 2026"> block at the top of the file
documenting the nanos rebill, the posture-dispatched stage gradient,
the BYOK term retirement, and the column/constant renames. Includes
upgrade notes (`balance_cents` → `balance_nanos`, `mode: "byok"` →
`mode: "self_managed"`, `make down && make up` for local dev),
what's-new bullets, and an API-reference section showing the new
shapes.
- Historical May 9, 2026 (M65) entry now imports EVENT_RATE_M65 +
STAGE_RATE_M65 (inline placeholders defined just below the shared
imports) so the entry preserves the $0.01 / $0.10 rates that
actually shipped at that time. Without this carve-out the rates.mdx
rewrite would have silently rewritten the historical entry's
meaning — the May 9 entry described "one number per surface" under
a different rate table, and the new EVENT_RATE = "free" /
STAGE_PLATFORM + STAGE_SELF_MANAGED gradient would have broken its
narrative. The pattern is light-touch: define `_M65` placeholders
once at the import header, used inline in the affected entry only.
- Fixed broken cross-reference in the M63_003-era entry:
`billing_and_byok.md` (renamed last quarter) now reads as
`billing_and_provider_keys.md (then named billing_and_byok.md)` so
readers can follow the link without losing the historical context
that the file used to live at the old path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
13 tasks
Contributor
Author
|
Lead PR: usezombie/usezombie#314 |
Greptile P2: `RULE NLG` and `RULE UFS` are internal development identifiers that external readers cannot look up. The surrounding prose carries the point without them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion docs PR for usezombie/usezombie#314. The lead PR retires the BYOK term, switches the canonical billing unit from cents to nanos (1/1,000,000,000 USD), introduces a posture-dispatched stage rate gradient, and pins a single canonical
SUPPORT_EMAIL. This PR moves the docs site in lockstep.snippets/rates.mdx— display exports rewritten to mirror the new four-constant Zig/TS/JS shape identifier-for-identifier:STARTER_CREDIT($5, unchanged),EVENT_RATE("free", was $0.01),STAGE_PLATFORM($0.001),STAGE_SELF_MANAGED($0.0001). Cross-tier parity rule is load-bearing — a future rate bump fails pin tests in Zig + TS + JS until this snippet is updated.snippets/contact.mdx— new file exportingSUPPORT_EMAIL = "usezombie@agentmail.to". Fifth replica of the per-runtime constant added in the lead PR (Zig backend, website TS, app TS, CLI JS, and now docs MDX). Future address rotations land as a coordinated five-place bump.changelog.mdx— new<Update label="May 11, 2026">block at the top documenting the nanos rebill, the posture-dispatched stage gradient ($0.001 platform → $0.0001 self-managed = 10× cheaper to scale), the BYOK term retirement, the column/constant renames, and upgrade notes (balance_cents→balance_nanos,mode: "byok"→mode: "self_managed",make down && make upfor local dev).Historical-entry carve-out
The May 9, 2026 (M65) entry described "one number per surface" under the pre-M66 rate table. Without intervention, the
rates.mdxrewrite would have silently rewritten that historical entry's meaning. The fix: defineEVENT_RATE_M65+STAGE_RATE_M65placeholders once at the import header, used inline in the affected entry only. Lightweight; the placeholders live above the shared imports so the pattern is easy to spot in future archive passes.Broken cross-reference fix
The M63_003-era entry referenced
billing_and_byok.md— the lead PR renames that file tobilling_and_provider_keys.md. Updated the link target tobilling_and_provider_keys.md (then named billing_and_byok.md)so the reader can follow the link without losing the historical context.Test plan
<Update>voice — Bold lead-noun bullets, no marketing words, code-name backticks, error codes / endpoint paths / column names preservedsrc/state/tenant_billing.zig,ui/packages/website/src/lib/rates.ts,~/Projects/docs/snippets/rates.mdx(all paired in the lead PR + this PR)_M65placeholdersbilling_and_byok.md→billing_and_provider_keys.mdlink target updated with parenthetical historical context🤖 Generated with Claude Code
Greptile Summary
This PR updates the docs site to mirror the M66 backend changes: billing unit switched from cents to nanos, stage rates split into a posture-dispatched two-rate gradient, BYOK terminology retired, and a new canonical
SUPPORT_EMAILsnippet introduced.snippets/rates.mdx— four-constant rewrite:EVENT_RATE→\"free\",STAGE_RATEreplaced bySTAGE_PLATFORM($0.001) andSTAGE_SELF_MANAGED($0.0001); identifier-for-identifier parity with the Zig/TS/JS lead PR.snippets/contact.mdx— new file exportingSUPPORT_EMAIL; the constant is defined and documented but not yet imported by any existing docs page, so the two pre-existing hardcoded email literals (changelog.mdx<Tip>andindex.mdx) remain outside the canonical constant.changelog.mdx— M66 breaking-change entry added; historical M65 pricing preserved via inline_M65placeholder constants;billing_and_byok.mdcross-reference updated with parenthetical historical context.Confidence Score: 5/5
Safe to merge — all three files are documentation-only changes with no runtime impact.
The rate-constant rewrite in snippets/rates.mdx is straightforward and consistent with the lead PR's four-constant shape. The M66 changelog entry is well-structured with correct historical placeholder usage for the M65 entry. The only gap is that snippets/contact.mdx is never imported by any existing page, leaving pre-existing hardcoded email literals disconnected from the new canonical constant — but this is a deferred wiring issue, not a content error.
snippets/contact.mdx — the canonical SUPPORT_EMAIL constant is not yet connected to the two pre-existing hardcoded email literals in changelog.mdx and index.mdx.
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A["Lead repo rate constants\n(tenant_billing.zig / rates.ts / types.ts / billing.js)"] B["snippets/rates.mdx\nSTARTER_CREDIT, EVENT_RATE,\nSTAGE_PLATFORM, STAGE_SELF_MANAGED"] C["changelog.mdx\nimport from rates.mdx"] D["Other docs pages\nimport from rates.mdx"] E["snippets/contact.mdx\nSUPPORT_EMAIL"] F["changelog.mdx Tip — hardcoded"] G["index.mdx — hardcoded"] H["Future docs pages\nimport from contact.mdx"] A -->|"cross-tier parity rule\npaired PR"| B B --> C B --> D E -.->|"no importer yet"| H E -. "bypassed" .-> F E -. "bypassed" .-> GPrompt To Fix All With AI
Reviews (2): Last reviewed commit: "docs(changelog): drop internal rule iden..." | Re-trigger Greptile