Skip to content

Docs/readme redesign - #6

Merged
Adwerse merged 4 commits into
mainfrom
docs/readme-redesign
Oct 9, 2026
Merged

Adwerse merged 4 commits into
mainfrom
docs/readme-redesign

Conversation

@Adwerse

@Adwerse Adwerse commented Oct 9, 2026

Copy link
Copy Markdown
Owner

No description provided.

…iants

Hand-written SVG charts for the README, each generated in a light and a
dark variant so GitHub can pick one through <picture> and
prefers-color-scheme. Every number comes from spec.md ("Load testing",
"Measured failover time"); the two-series palette was checked for
colour-vision-deficiency separation and contrast against both GitHub
surfaces.

- load-test-kpis: 176.4 tx/s distributed ceiling, 31.5 tx/s hot account,
  53,789 transfers / 87,888 entries, 0 invariant violations.
- load-throughput-latency: throughput and p50 latency against 10/30/60/120
  VUs for the distributed and hot-account profiles, as two panels on one
  shared x axis.
- slowest-transfer-trace: the 841 ms Jaeger span tree at 120 VUs, with the
  441 ms pool.acquire wait and the 247 ms row-lock wait called out.
- commit-cost: the four synchronously replicated commits that make up
  92.7 of a calm 126 ms transfer.
- failover-downtime: where ~24 s of write downtime goes (TTL, election,
  HAProxy) and the four measured kills, 23.6-25.4 s.
Real captures from a local `docker compose up` run on 2026-10-09 with two
test users, driven through the UI with Playwright. They replace the
pending shot list in CHECKLIST.md, which is removed.

- dashboard (desktop, light theme), mobile dashboard and history (dark
  theme), register, the verification email in Mailpit, the Stripe test
  card step, transfer confirmation, the recipient's dashboard updating
  live with a toast, a fraud-blocked EUR 6,000 transfer, and the profile.
- live-transfer.gif: two phones side by side; Maya sends EUR 42.50 and
  Liam's balance, history and toast update without a reload.
- Jaeger: one transfer (58 spans, 5 services) and the reconciliation
  worker's trace for a transfer stuck while fraud-svc was stopped,
  linked to the original request via FOLLOWS_FROM.
- Mailpit inbox with sent/received pairs, a declined and a failed
  transfer email.

Accounts were funded with cmd/devtopup: Stripe's checkout runs an
invisible hCaptcha that an automated browser cannot pass.
…rements

Replace the emoji-led front page with a plainer, evidence-first README:
every claim names the mechanism behind it and the test or measurement
that checks it.

- "What the system guarantees": eight rows of guarantee, mechanism and
  evidence, linking to the tests and code lines.
- Product tour built from the new screenshots and the live-transfer GIF.
- Architecture as GitHub-native mermaid: service map, Kafka event flow,
  one transfer end to end, and transfer/deposit status lifecycles. The
  hand-drawn docs/architecture.svg stays for spec.md but is no longer
  used here: its labels overlap and it draws a Gateway -> ledger-svc
  route that does not exist.
- Observability section with the Jaeger and Mailpit screenshots.
- Load test with the new light/dark charts, the bottleneck table, the
  eight invariants and the full k6 results behind <details>. Removes
  docs/load-test-summary.svg, superseded by the load-test-kpis chart.
- Postgres failover chart plus a real probe log from killing the leader
  on 2026-10-09 (24.5 s without a leader, old node back as a replica).
- Run locally, env vars, URLs, test commands, repository layout and the
  limitations list without emojis.
The banner at the top of spec.md pointed to docs/screenshots/CHECKLIST.md
for a GIF that did not exist yet. Show the recorded live-transfer GIF
instead and point to the README's product tour for the rest.
Copilot AI balanced review requested due to automatic review settings October 9, 2026 21:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@Adwerse
Adwerse merged commit 6b2a00c into main Oct 9, 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.

2 participants