Browse documentation

Qualification evidence for DocSprout v1.3.0

On this page

DocSprout v1.3.0 modernises every visual style while preserving JSON and Markdown layout compatibility and the v1.0.0 stable contract. The claims below are the contract that CI and the maintained fixtures exercise. Every row names how it is verified. “Supported” means the combination is run by automated qualification on every pull request and release, not merely believed to work.

Evidence levels: automated rows run in CI with no browser or network dependency; manual rows are explicit review steps; unavailable rows are not claimed as completed when the required browser tooling is absent.

Current support at a glance

Reader questionCurrent answerDetails
Which Python versions?Python 3.10–3.14Supported Python versions
Which operating systems?Linux, Windows and macOSQualified operating systems
What is checked automatically?The unit suite, package artifacts and generated-site contractsPackage qualification and accessibility qualification
What still needs a person?Browser, keyboard, touch and screen-reader checksManual browser/keyboard matrix and known limitations

Supported Python versions

Qualified operating systems

Package qualification

CLI journey

Every command below is exercised through the installed package on a new project and on an existing repository, asserting meaningful output and generated files:

Repository shapes

A small set of representative shapes sustains the build, navigation and publication contract (see tests/test_qualification_shapes.py):

Ecosystem and GitHub Pages

Accessibility qualification

Automated structural checks run against the maintained visual fixture and DocSprout’s own built documentation:

Evidence history

The v0.17 and v0.18 matrices are retained as historical evidence for the contract candidate that v1.0.0 freezes. v1 adds the Five Promises assessment, clean-room package rehearsal and the explicit compatibility policy; v1.1 adds the rebrand compatibility evidence and the quality-gate additions; v1.1.2 adds the typography evidence, v1.1.3 adds the documentation-quality evidence, v1.1.4 adds the brand-hero, contrast and four-style evidence, v1.1.5 adds the grouped-navigation and Markdown-coverage evidence, v1.1.6 adds the image-alt escaping and custom-CSS contract evidence, v1.1.7 adds the inline-code literalness and documentation-accuracy evidence, v1.1.8 adds the protected math/resolver/auditor evidence, and v1.1.9 adds the audit, preview and release-safety regressions below. v1.1.10 adds compact generated navigation and accurate init publication guidance. v1.2.0 adds Markdown layout parsing, group expansion, and a full-site migration from JSON. v1.2.1 adds reading-page context, responsive outlines and active-section parity.

v0.18 additions

The v0.17 matrix above is unchanged. v0.18 adds:

v0.18.1 additions

The v0.18.1 patch adds a shared .prose img default that constrains oversized Markdown images to the prose column, preserves aspect ratio, and leaves smaller images at intrinsic size. Regression coverage checks the normal, single-version and versioned build paths, configured banners, custom-CSS ordering, themes and content-width settings. The maintained visual fixture carries both an oversized SVG and a small badge for browser review.

v1.1.0 additions

The rebrand keeps the v1.0.0 contract and adds explicit evidence that the pre-rebrand names still work:

v1.1.1 additions

The quality patch adds gates and guidance without changing the contract:

v1.1.2 additions

The typography release changes presentation only; no configuration, route or token value changes:

v1.1.3 additions

The documentation-quality patch changes guides, tests and the project’s own site configuration; no schema, route or token value changes:

v1.3.0 additions

v1.2.3 additions

v1.2.2 additions

v1.2.1 additions

v1.2.0 additions

v1.1.10 additions

v1.1.9 additions

v1.1.8 additions

The protected-context correctness patch makes inline math consistent with inline code across rendering, resolvers, auditing, and docs; no schema, route, machine-format, CLI, token-name, dependency, or syntax change:

v1.1.7 additions

The Markdown correctness and documentation-accuracy patch makes inline code truly literal and brings the showcase back into agreement with the renderer; no schema, route, machine-format, CLI, token-name, dependency or syntax change:

v1.1.6 additions

The security and hardening patch closes an attribute-escaping gap and makes the custom-CSS network boundary explicit; no schema, route, machine-format, token-name, CLI or theme change:

v1.1.5 additions

The scannable-sidebar release changes navigation presentation and widens Markdown coverage; no schema, route, machine-format or token-name change:

v1.1.4 additions

The brand-hero and contrast-proof release changes presentation and derives new values; no schema, route, machine-format or token-name change:

The Five Promises

PromiseQualification evidenceResult
Easy to useInstalled wheel and sdist journeys run init, serve, check, audit, build, doctor and Pages preparation from outside the source tree.Automated pass
Easy to learnREADME, beginner guide, configuration, publishing, audit and migration paths are checked for the short preview path, declarative mental model and next-step links.Automated documentation pass
Easy to look goodStructural accessibility, token, responsive-image, theme/mode, content-width, hero/contrast, custom-CSS and maintained visual-fixture tests cover phone/tablet/desktop cases without brittle screenshots.Automated pass; see Known limitations
Easy to create from existing repositoriesGeneric/Pascal-shaped, root-README, nested, Unicode, spaces, assets, explicit-home, unlisted and ancillary-file adoption fixtures pass; Pages setup is idempotent and non-mutating.Automated pass
Easy to maintainSchema corpus, route collision checks, machine-format checks, workflow pin checks, deterministic archive/build tests, contributor guidance and release checks pass.Automated pass

The stable contract is deliberately smaller than the implementation: see Machine-readable contracts for the exact schema fields, CLI options, exit semantics, routes, machine files, public tokens and workflow inputs. The v1.0 decision record records the compatibility and deprecation policy.

Clean-room release rehearsal

The release gate builds a wheel and sdist, inspects both archives, installs each into a fresh virtual environment, and runs the installed qualification script from a temporary working directory outside the source tree. It also rehearses existing-repository adoption, custom identity/theme/banner/CSS configuration, single-version Pages preparation, immutable versioned check-release and build-all, deterministic output, and local serve HTTP delivery. No runtime operation requires a network connection after installation.

Known limitations

Manual browser/keyboard matrix

Run these against a locally built site (the visual fixture covers the widest surface) after major visual or interaction changes; they complement the automated contract above.

#Check
1Tab once to reveal Skip to content, activate it, and confirm focus reaches the article below the header. Continue through search, version, style and mode controls, copy buttons, previous/next and every sidebar link; focus is always visible.
2/ focuses search; type a query; ArrowDown/ArrowUp, Home, End, Enter and Escape behave as described; Tab leaves the result region predictably.
3At phone width the mobile navigation opens and closes with Enter/Space on the disclosure and every section link is reachable by keyboard. Scroll until the brand row collapses; search and settings remain available, and keyboard focus reveals the brand link.
4Screenshot phone/tablet/desktop widths in Classic, Paper, E-ink and Glassmorphic × System, Light and Dark; nothing overlaps and no page-level horizontal scroll appears.
5With the OS reduced-motion preference on, search results, the reading-progress bar and theme changes do not animate.
6With Windows high-contrast / forced-colors enabled, focus outlines and the reading-progress indicator remain visible.
7At desktop and phone widths the home-page hero keeps its copy readable, the derived actions stay keyboard reachable, and a configured banner spans the content width without cutting its text.
8On a long reading page, open the phone outline by touch and keyboard, confirm its current section and labelled navigation with a screen reader, follow a nested heading link, and check that the heading clears the sticky header. On desktop, confirm the rail marks the same section. Check that reading progress completes at the article end, before page navigation and footer.