Repository navigation
bench 306 privacy-round-trip, held out of production until its data exists - #3296
Merged
Merged
Conversation
…xists
The spec for the flagship privacy board, with the size selector: three rungs
at 0.001, 0.01 and 0.1 BTC, because the cost is NOT flat in size and a board
showing one notional would report the shape of its own choice. Measured by
hand on 2026-10-25: ZEC through Maya came back at 77.5 bps on the small rung,
40.7 on the middle one and 325 on the large one. The fixed withdrawal fee
owns the small end and depth owns the large end, so the cheapest size is in
the middle.
HELD OUT OF PRODUCTION, on purpose, in DEV_ONLY_BENCH_SLUGS. The harness
exists and is merged but is not deployed, so Prometheus holds no
privacy_round_trip_bps series. A metric_panel with no value DELETES its row
rather than marking it, so shipping this today would publish an empty table
under a confident title. Staging still renders held-back benches, which is
the point: the copy, the JSON-LD and the selector can be reviewed there
before a reader sees a board. The un-gate condition is written beside the
entry.
Filed under Bridges, not a new Privacy category. These rails ARE cross-chain
swap rails, so the category is accurate, and it avoids opening a tenth
category while two of the existing nine already show nothing (Explorers has
one bench that 410s, On-ramps one that is held back). A hub collects benches
by slug list, not by category, so nothing about a future /privacy-style hub
needs the category to exist.
FOUR THINGS THE VALIDATOR CAUGHT, each a real constraint I had guessed:
source is a single repo link, not a list of named endpoints.
a dimension value cannot contain a dot, so the rungs are sat100k, sat1m
and sat10m rather than 0.001btc. The size is kept IN the value so that
retuning the ladder cannot silently keep an old series under a name like
"small"; the harness labels were renamed to match, because a spec that
filters on a value nothing publishes renders an empty board.
an aggregation needs an empty selector, avg_over_time(metric{}[24h]), or
the loader appends the provider filter after the closing paren and
Prometheus refuses to parse it.
a new slug must be in bench-published.json or every datePublished, the
citation date and the Dataset temporalCoverage silently fall back to
2025-01-01.
AND ONE THE SEO RULES CAUGHT: seo_title was 72 characters against a 35 to 65
window. Now 62. The rest of the editorial checks pass: no em dashes, no
marketing adjectives, no hand-typed numbers, no pre-written winner, and the
leader comes from {{best_name}} so the copy cannot contradict the table.
Cache keys move because the provider set grew by two: bench-unfiltered v102,
all-benchmarks v95, bench-filters v43 (the three rungs are filtered
variants), and the provider-set hash from 1838 to 1840.
Three more specs follow the same shape once this one is reviewed: shielded
payout coverage, exit cost, and the Monero maker book.
This was referenced Oct 26, 2026
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.
The flagship privacy board's spec, with the size selector you asked for: three rungs at 0.001, 0.01 and 0.1 BTC.
That selector is not decoration. Measured by hand on 2026-10-25, ZEC through Maya came back at 77.5 bps on the small rung, 40.7 on the middle one and 325 on the large one. The fixed withdrawal fee owns the small end and pool depth owns the large end, so the cheapest size is in the middle. A board showing one notional would have reported the shape of its own choice.
Held out of production, on purpose
In
DEV_ONLY_BENCH_SLUGS. The harness is merged (#3295) but not deployed, so Prometheus holds noprivacy_round_trip_bpsseries. Ametric_panelwith no value deletes its row rather than marking it, so shipping this today would publish an empty table under a confident title.Staging still renders held-back benches — that is the point of the set. The copy, the JSON-LD and the selector can be reviewed there before any reader sees a board. The un-gate condition is written beside the entry.
Filed under Bridges, not a new Privacy category
These rails are cross-chain swap rails, so the category is accurate, and it avoids opening a tenth category while two of the existing nine already show nothing (Explorers has one bench that 410s, On-ramps one that is held back). A hub collects benches by slug list, not by category, so a future privacy hub needs nothing here.
Four things the validator caught, each a real constraint I had guessed
sourceis a single repo link, not a list of named endpoints.sat100k,sat1m,sat10m. The size is kept in the value so retuning the ladder cannot silently keep an old series under a name like "small" — and the harness labels were renamed to match, because a spec filtering on a value nothing publishes renders an empty board.avg_over_time(metric{}[24h]), or the loader appends the provider filter after the closing paren and Prometheus refuses to parse it.bench-published.jsonor everydatePublished, the citation date and the DatasettemporalCoveragesilently fall back to 2025-01-01.And one the SEO rules caught
seo_titlewas 72 characters against a 35 to 65 window. Now 62. The rest pass: no em dashes, no marketing adjectives, no hand-typed numbers, no pre-written winner, and the leader comes from{{best_name}}so the copy cannot contradict the table.Cache keys
The provider set grew by two:
bench-unfilteredv102,all-benchmarksv95,bench-filtersv43 (the three rungs are filtered variants), provider-set hash 1838 → 1840.Three more specs follow the same shape once this is reviewed: shielded payout coverage, exit cost, and the Monero maker book.
Gates:
pnpm validate254 specs,tsc --noEmitclean,bun test src/731 pass, and the harness'sgofmt/build/vet/testall clean.