Skip to content

bench 306 privacy-round-trip, held out of production until its data exists - #3296

Merged
Flotapponnier merged 1 commit into
devfrom
feat/privacy-round-trip-spec
Oct 26, 2026
Merged

Flotapponnier merged 1 commit into
devfrom
feat/privacy-round-trip-spec

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

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 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 — 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

  • 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, 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.
  • 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 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-unfiltered v102, all-benchmarks v95, bench-filters v43 (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 validate 254 specs, tsc --noEmit clean, bun test src/ 731 pass, and the harness's gofmt/build/vet/test all clean.

…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.
@Flotapponnier
Flotapponnier merged commit 9f0ce01 into dev Oct 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant