Skip to content

Docs UX audit + fix all 16 Medium findings#212

Merged
lesnik512 merged 11 commits into
mainfrom
docs-ux-audit-2026-06-13
Jun 14, 2026
Merged

Docs UX audit + fix all 16 Medium findings#212
lesnik512 merged 11 commits into
mainfrom
docs-ux-audit-2026-06-13

Conversation

@lesnik512

Copy link
Copy Markdown
Member

What

A reader-experience audit of the documentation (onboarding-weighted), plus fixes for all 16 Medium-severity findings it produced. Complements the 2026-06-12 correctness audit by focusing on whether docs are convenient, understandable, readable, and consistent — and whether a brand-new user reaches first success quickly.

Audit

  • Multi-agent sweep across docs/, README.md, architecture/, and docstrings; every Medium adversarially verified.
  • Result: 0 High, 16 Medium, 54 Low. Full report: planning/audits/2026-06-13-docs-ux-audit-report.md.
  • Bundles: planning/changes/active/2026-06-13.01-docs-ux-audit/ (audit) and 2026-06-13.02-docs-ux-fixes/ (this fix plan).

Fixes (16 Mediums)

Onboarding path

  • O-1/R-1 — README now has an install line + a runnable Quick Start (was badges + links only).
  • O-2index.md Quickstart leads with a runnable sync example (the old async-only one never called asyncio.run → silent no-op).
  • O-4 / X-1 / D-11context.md reordered to a manual-first Basic Usage, adds a "When no value is set" section (None vs ArgumentResolutionError), and gains cross-links + See also.
  • O-7architecture/scopes.md worked example: add Group import, use providers.CacheSettings().

Non-runnable / wrong examples

  • O-3to-2.x.md Dict/List replacement now resolves (primitive fields supplied via kwargs).
  • O-5 — Litestar websocket snippet is self-contained (MyService/ALL_GROUPS defined); confirmed against modern-di-litestar that di_container auto-resolves by name.
  • D-1container.md "Explicit Injection" example actually uses the container + says when to prefer it.

Accuracy / consistency

  • X-2duplicate-type-error.md corrected RuntimeErrorDuplicateProviderTypeError (+ hierarchy note, cross-link).
  • A-3architecture/providers.md documents UnsupportedCreatorParameterError (verified the trigger).
  • O-6from-that-depends.md reconciles the two FastAPI wirings; confirmed via modern-di-fastapi that setup_di merges lifespans and closes the container (so don't also async with container).

Migration / contributing / rendering

  • D-21/X-4to-2.x.md adds a .cast → type-based-wiring/kwargs/ContextProvider migration recipe.
  • D-23 / D-25contributing.md fixes the git clone command and adds a "Submitting changes" section (coverage gate, lint/test, planning convention).
  • D-19 — numbered install/usage steps now render correctly across pytest.md + the 4 integration pages (converted to numbered ### headings, consistent with index.md; the report's index.md mention was a false positive — already headings). X-3 — split container.md's low-level API into a new Advanced / low-level API page and moved the context-propagation warning to context.md.

Verification

  • Every runnable snippet executed with uv run python (README, index, Dict/List, explicit-injection, exception hierarchy, scope wiring) — all pass.
  • mkdocs build --strict passes (exit 0, no broken-link/nav warnings).
  • Rendered HTML confirmed: previously each step rendered as its own <ol start=1>; now single ordered list / clean headings.
  • Docs-only; no modern_di/ code changed.

The 54 Low findings are out of scope for this PR (listed in the report for a follow-up).

🤖 Generated with Claude Code

lesnik512 and others added 11 commits June 13, 2026 23:38
Reader-experience audit (onboarding-weighted) of the docs site, README,
architecture/ truth-home, and docstrings. 0 High, 16 Medium, 54 Low; every
Medium adversarially verified. No fixes applied here — the report drives a
follow-up fix plan.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bundle (design.md + plan.md) for fixing every Medium from the 2026-06-13 docs
UX audit: runnable-example fixes, accuracy corrections, missing
cross-links/sections, one nav split. Docs-only; no library code changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Read modern-di-litestar and modern-di-fastapi source: di_container is a
named Litestar dependency (auto-resolves); setup_di merges lifespans and
closes the container. Both fix tasks now carry exact edits.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…, O-2)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…lifespan reconciliation (O-3, D-21/X-4, O-6)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…tion example, missing-value section, cross-links, split advanced API page (D-1, O-4, X-1, D-11, X-3)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…eatorParameterError, fix scopes-example imports (X-2, A-3, O-7)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…mbered-step rendering across install sections (O-5, D-19)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ction (D-23, D-25)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesnik512 lesnik512 merged commit 11b7b70 into main Jun 14, 2026
6 checks passed
@lesnik512 lesnik512 deleted the docs-ux-audit-2026-06-13 branch June 14, 2026 06:29
lesnik512 added a commit that referenced this pull request Jun 14, 2026
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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