Skip to content

Docs#449

Open
Bisht13 wants to merge 8 commits into
mainfrom
docs-staging
Open

Docs#449
Bisht13 wants to merge 8 commits into
mainfrom
docs-staging

Conversation

@Bisht13
Copy link
Copy Markdown
Collaborator

@Bisht13 Bisht13 commented Jun 3, 2026

No description provided.

Bisht13 and others added 8 commits May 10, 2026 22:59
The docs now use a task-oriented structure with clearer setup, end-to-end flows, artifact lifecycle guidance, security notes, and reference pages. The Rust example uses published crates.io packages, SDK examples are tied to verified APIs, and custom visual components align correctly in dark and light themes.

Constraint: PR history must use professional commit messages without internal orchestration references.
Constraint: Rust dependencies must use published ProveKit crates instead of local path dependencies.
Rejected: Preserve intermediate checkpoint commits | they exposed internal coordination noise and made review harder.
Rejected: Keep Mermaid diagrams | local rendering was broken and CSS-native diagrams are easier to theme consistently.
Confidence: high
Scope-risk: moderate
Reversibility: clean
Directive: Keep docs examples tied to verified crate/API versions and rerun docs checks after visual CSS changes.
Tested: git diff --check
Tested: pnpm --dir docs check
Tested: pnpm --dir docs build
Tested: typos README.md docs/README.md docs/src/content/docs docs/astro.config.mjs
Not-tested: Hosted production deployment rendering
- Reorganize sidebar (Start here, Build, Concepts, Reference, Operations)
- Add: What is ProveKit, Tutorial, Designing circuits, Performance,
  Comparison, FAQ, Examples catalog, FFI error codes, Starter templates,
  Changelog
- Rewrite landing with code-first hero and trimmed host integrations
- Add inline SVG architecture diagram and language tabs on integrations
- Verify all CLI flags, FFI codes, WASM bindings, Rust API and
  Poseidon2 hash arities against source; fix earlier fabrications
  (PK_OK -> PK_SUCCESS, hash_3 -> chained hash_2, server timeout defaults)
- Cross-link rustdoc and glossary anchors
- Strip em dashes throughout
Port the brand tokens, type stack, and component rules from the
Provekit Design System (README + colors_and_type.css) to the Starlight
docs site.

- Light is the canonical mode (brand is light-only); head script sets
  starlight-theme=light on first visit, toggle still works for users
  who switch
- Outfit (display/body) + Geist Mono (chrome) via Google Fonts;
  --sl-font / --sl-font-mono mapped so Starlight components inherit
- Brand palette: canvas #F8FEFF, surface #FFFFFF, ink #2D2D2B,
  brand #0D74FF, brand-ink #A2D0FC, lines #D1F5FF, mute #949494
- All chrome (sidebar group labels, table headers, TOC heading,
  pagination labels, asides titles, footer meta, hero CTAs) in
  Geist Mono ALL CAPS +0.02em tracking
- Square corners everywhere (cards, asides, code frames, buttons,
  dialogs); no box-shadows; borders define structure
- Asides re-skinned to brand palette (note=blue, tip=cyan,
  caution=bloom-orange, danger=bloom-pink) instead of Starlight defaults
- Code frames, search dialog, pagination, TOC, sidebar active page,
  hr / kbd / blockquote / mark, scrollbars all themed
- Selectors verified against rendered Starlight DOM; previous attempt
  targeted .sl-link-card (does not exist) and over-nested sidebar
  selectors that never matched
- v1.0.0 release wiring: install command, e2e Cargo.toml blocks,
  tutorial, starter template all pin "1.0.0"; landing banner,
  Changelog, FAQ, Project status acknowledge GitHub Releases as the
  authoritative version record
- Installation: surface cargo install provekit-cli alongside the
  source-checkout path via Starlight Tabs
- Quickstart: drop redundant prereqs, switch to plain provekit-cli
  commands with source-checkout substitution note, fix comma-splice in
  success Aside
- What is ProveKit: trim differentiator list to no-trusted-setup +
  post-quantum-secure base proof; drop When-to-use, When-not,
  You don't / You do need to know sections; replace with one "Before
  you build" pointer to the two concept pages
- Post-quantum security mentioned where it belongs: what-is,
  security-model (new Cryptographic assumptions section), FAQ (new Q),
  comparison matrix (two new rows for base + on-chain wrap)
- Swift platform scope narrowed to iOS only; macOS explicitly
  unsupported across landing, installation, swift e2e, starter-template
- Mavros removed from public docs (CLI flag still works, just not
  advertised); fixes 9 files
- Theme polish:
  - Double-line header bug fixed (scoped border to header.header)
  - Inline <code> in table cells stays on one line (no hyphen-wraps)
  - Sidebar/TOC inactive items use new --pk-ink-soft mid-tone (#5C5C5A)
    instead of pitch-black ink or unreadable mute grey
  - Asides reskinned to brand palette (note=blue, tip=cyan,
    caution=bloom-orange, danger=bloom-pink)
  - Pagination prev/next, code frame, search dialog, scrollbars, kbd,
    blockquote, hr all themed
  - Light-mode logo variant (logo-light.svg, ink #2D2D2B) replaces
    pale brand-ink on white backgrounds
Content
- Trim concepts, e2e, integrations, and reference pages to honest,
  ProveKit-specific guidance; remove em-dashes, marketing tone, and
  legacy "compiler backend" / Mavros references throughout.
- Pin v1.0.0 audited release everywhere relevant; note Noir
  v1.0.0-beta.11 compatibility and the v1 vs main branch policy.
- Add post-quantum security wording where it belongs (WHIR base proof
  is PQ-secure; Groth16 wrap is not).
- Drop macOS support (iOS-only for Apple) and clean up SDK ownership
  notes: Rust is native; JS/Swift/Kotlin SDKs are maintained by Verity
  (@atheonxyz/verity 0.3.2-beta).
- Fix witness-generation flow in the JS/TypeScript end-to-end page;
  verify and rewrite FFI error codes against tooling/provekit-ffi.
- Standardize CLI invocations on plain provekit-cli and confirm
  Skyscraper as the default --hash.

Chrome
- Replace Starlight's native <select> ThemeSelect with a custom
  listbox dropdown matching the brand chrome (Geist Mono caps, square
  corners, cyan hairline border).
- Override Starlight's mobile search button and hamburger button so
  they no longer render as out-of-place white pills on the dark
  header; both share a single deduped rule set with hover states for
  light and dark.
- Add per-mode logo (dark wordmark for light theme); fix double
  header border by scoping rules to header.header.
Audit-driven trims and corrections; no behavior changes:
- Drop comparison page (high fabrication risk, marketing-shaped)
- Drop changelog page (GitHub Releases is authoritative)
- FAQ: consolidate 3 maturity Qs, drop competitor-naming, fix WASM
  Verifier reusability (clones internally) and Skyscraper-fastest
  fabrications, drop license/BN254/source-location/changelog Qs
- Performance: replace fabricated provekit-bench (criterion → divan)
  and analyze-pkp claims; correct hash row (sha256/blake3 fastest
  in proving; skyscraper default for BN254-friendly Groth16 wrap);
  use witness count, not constraint count, as scaling factor
- Security-model: drop generic ZK sections (verification-vs-auth,
  red-team prompts); ProveKit-specific key handling only
- Examples: split runnable circuits vs libraries/workspaces; fix
  fabricated descriptions (basic-2/3/4 not Poseidon; poseidon-rounds
  is 1000-round permutation; power is fixed-exponent; oprf full
  credential workflow)
- Error codes: split Code and Constant columns; trim function table
  to bare names; restructure FFI section in common-errors
- CLI overview: two-ways-to-invoke intro; h3 subsections for the
  inspection/export commands (table was overflowing)
- Production checklist: drop generic ops sections (trust boundaries,
  capture evidence); ProveKit-specific only
- Project status: drop Documentation policy and Known launch gaps
  (doc-team meta + weak aspirational bullets)
- Glossary: fix WHIR (PCS, not the proof system), Recursive verifier,
  BN254 wording
- Common errors: group 13 entries under category H2 headings; drop
  generic Rust toolchain section; fold show-inputs ABI mismatch
  into Verification failure
- Sidebar: reorder Build and integrate (Integrations overview first,
  then End-to-end overview, then per-platform); move Project status
  to Reference; rename "Designing circuits for ProveKit" to
  "Designing circuits"
- Em-dash sweep across all MDX and CSS comments
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

CSP benchmarks

Metric Value
Workflow status [PASS] success
Commit cd7981908ff5
Run #26883738813
Circuits benchmarked 21
Iterations averaged per circuit 3

Prover time, peak RSS, peak heap, and verifier time are arithmetic means across the iterations. Peak heap comes from the largest peak memory entry in provekit-cli prove's tracing output; peak RSS is reported by /usr/bin/time -v (max-resident-set-size).

Each metric cell shows the current value followed by the percentage delta against the latest successful main run #26627835985. (new) marks circuits absent from the baseline.

Results
Circuit Constraints Witnesses Prover time Peak RSS Peak heap Verifier time Proof size PKP size
ecdsa_p256 143,282 (±0.0%) 258,158 (±0.0%) 2.97 s (-0.4%) 257 MB (±0.0%) 225 MB (-0.1%) 340 ms (±0.0%) 2.78 MB (-0.3%) 810 KB (±0.0%)
keccak_1024 822,870 (±0.0%) 1,543,366 (±0.0%) 6.30 s (-1.4%) 986 MB (±0.0%) 953 MB (±0.0%) 833 ms (-2.0%) 3.14 MB (±0.0%) 6.07 MB (±0.0%)
keccak_128 163,058 (±0.0%) 313,707 (±0.0%) 2.09 s (-0.9%) 274 MB (+0.1%) 242 MB (-0.1%) 360 ms (-2.7%) 2.79 MB (-0.4%) 1.22 MB (±0.0%)
keccak_2048 1,575,606 (±0.0%) 2,945,822 (±0.0%) 11.72 s (-1.0%) 1.81 GB (±0.0%) 1.80 GB (±0.0%) 1.40 s (-2.3%) 3.26 MB (-0.9%) 12.36 MB (±0.0%)
keccak_256 256,206 (±0.0%) 487,012 (±0.0%) 2.28 s (-1.4%) 328 MB (±0.0%) 290 MB (-0.2%) 407 ms (-0.8%) 2.84 MB (-0.6%) 1.97 MB (±0.0%)
keccak_512 445,094 (±0.0%) 839,130 (±0.0%) 3.59 s (-0.9%) 599 MB (+0.9%) 509 MB (-0.1%) 543 ms (-0.6%) 3.02 MB (+1.5%) 3.40 MB (±0.0%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 350 ms (±0.0%) 23.98 MB (+0.5%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (-1.7%) 436 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 360 ms (+0.9%) 24.21 MB (+0.2%) 14.88 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+1.8%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 350 ms (-0.9%) 23.00 MB (-0.2%) 14.11 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (+1.4%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 343 ms (-1.0%) 23.40 MB (+0.2%) 14.31 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (-0.6%) 31.67 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 350 ms (±0.0%) 24.04 MB (-0.5%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+3.6%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 353 ms (±0.0%) 24.19 MB (±0.0%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (+0.9%) 410 KB (±0.0%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 357 ms (±0.0%) 24.30 MB (+0.2%) 14.97 MB (±0.0%) 103 ms (+3.3%) 1.06 MB (+1.7%) 536 KB (±0.0%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 340 ms (±0.0%) 22.95 MB (+0.4%) 14.02 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (-1.0%) 53.79 KB (±0.0%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 343 ms (-1.9%) 23.43 MB (±0.0%) 14.31 MB (±0.0%) 100 ms (±0.0%) 1.02 MB (-2.5%) 210 KB (±0.0%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 350 ms (-0.9%) 23.37 MB (+0.4%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (+0.8%) 305 KB (±0.0%)
sha256_1024 196,940 (±0.0%) 339,764 (±0.0%) 2.18 s (-1.5%) 305 MB (-2.4%) 273 MB (-0.1%) 410 ms (-2.4%) 2.83 MB (+1.7%) 1.90 MB (+0.4%)
sha256_128 46,398 (±0.0%) 80,974 (±0.0%) 1.08 s (-1.2%) 101 MB (+1.0%) 83.54 MB (-0.2%) 260 ms (±0.0%) 2.51 MB (+0.9%) 506 KB (+0.7%)
sha256_2048 345,399 (±0.0%) 612,724 (±0.0%) 3.54 s (-1.4%) 548 MB (-0.6%) 484 MB (±0.0%) 587 ms (-2.2%) 2.97 MB (-1.5%) 3.00 MB (-1.2%)
sha256_256 67,904 (±0.0%) 117,944 (±0.0%) 1.37 s (-1.7%) 150 MB (-0.1%) 130 MB (-0.2%) 290 ms (±0.0%) 2.69 MB (+1.6%) 712 KB (+0.2%)
sha256_512 110,916 (±0.0%) 191,884 (±0.0%) 1.49 s (-1.5%) 181 MB (-1.0%) 158 MB (-0.2%) 320 ms (±0.0%) 2.65 MB (-1.4%) 1.14 MB (+4.1%)

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.

2 participants