Documentation review ? 5 September 2026 ? Local working tree

Clearer guidance, checked quick starts, repaired examples

The review corrected source/documentation mismatches in the SDK, reference wallets and SaaS setup guide. Implemented local examples now run successfully. This is a documentation validation report, not a new production-readiness score.

Coverage boundary: 326 Markdown files contain 2,390 inventoried Kotlin blocks, including 206 historical blocks. Three quick-start blocks are synchronized exactly with one executed source example. The other fragments have not all been compiled independently. Nine scenario tasks are placeholders, now explicitly documented. Passing the checks does not certify every snippet or a hosted provider.

Corrections made

AreaResult
First-run experienceOne source-backed example now creates real DIDs, issues and verifies a credential, registers its JSON-LD vocabulary locally and closes services. Its imports and output were checked by execution.
Versions and commandsCurrent SDK instructions use Kotlin 2.3.21, JDK 21 and the Gradle 9.5.0 wrapper. Example task paths and missing extension imports were corrected. Current source version is distinguished from artifact availability.
Navigation and contractsBroken relative links were repaired. Guidance now distinguishes result-returning operations from throwing APIs, signature validity from issuer trust, and wallet deployment policy from general provider readiness.
Wallet custody and recoveryREADME now describes IndexedDB non-extractable keys, public localStorage data, credential-only backups and replacement/reissuance after key loss. Passkey and managed custody adapters are experimental and not wired into the wallet UI; native device validation is not claimed.
SaaS startupREADME reflects Kotlin 2.3.10, local PostgreSQL 15 and selectable billing. The PowerShell helper starts infrastructure; backend and frontend startup requirements are explicit.
Runnable example failuresFixed missing wallet factories, invalid wallet-query casts, a JVM main return type, missing claim contexts and unused KMS configuration. DID demos now use the intended KMS for P-256. Repaired Base and Arbitrum service-provider registration names exposed by Indy discovery.
Misleading demonstrationsReplaced the anchoring placeholder with asserted in-memory write/read round trips. Marked unfinished schema, revocation and delegation steps as skipped; clarified local simulations and unverified institutional design goals.
Regression protectionAdded a documentation checker with six tests, exact source synchronization, maintained relative-link checks and fence/API checks. CI runs the 11 implemented local examples and generated capability-documentation drift checks.

Validation evidence

CheckOutcome
python scripts/check-documentation.pyPassed: 326 files, 3 synchronized examples, zero reported errors. Full block inventory.
python -m unittest discover -s scripts -p test_check_documentation.py6 tests passed: source drift, matching source, missing links, fenced examples, unclosed fences and historical/API scope.
:distribution:examples:checkDocumentationExamples11 implemented local demos passed: documentation quick start, original quick start, Earth Observation, Academic, Professional, Spatial Web, National Education, Indy, did:key, did:jwk and local anchoring.
Generated capability docs and PowerShell snippet guardBoth passed; four legacy snippet rules checked.
FormattingGradle script lint and whitespace diff checks passed. Full examples-module lint failed on extensive source formatting, wildcard and unused-import findings. No blanket lint-clean claim is made.
SDK/SaaS source alignmentReviewed local fingerprint recorded and verified; two fingerprint-checker tests passed. This does not create an immutable coordinated release commit.

Local logs: docs-examples-passed.log (successful execution and Gradle-script lint), docs-final-validation.log (full module lint findings). Console-label-only clarifications followed the successful execution; no runtime logic changed afterward.

What remains unverified

Start here

Checked quick start ? Example coverage and commands ? Wallet setup and custody limits ? Previous code review