This audit compares the living guides with the current working tree, not only with older plans. Historical records keep their dated claims and are indexed separately. It does not claim complete implementation of the product catalogues indexed by the provider llms files.
#Verified and corrected
| Area | Current implementation and documentation correction | Evidence |
|---|---|---|
| Gateways | All three route selected payment operations. PayPal is no longer a skeleton; it has local OAuth, approval, authorization, capture, void and refunds with explicit limits | Provider sources and fidelity |
| Payment lifecycle | approved records consent without a debit or hold; it differs from authorized. Added to both lifecycle diagrams |
State machine |
| Mercado Pago | Manual processing creates an empty order, attaches a transaction, processes and optionally captures later | Plugin |
| Contracts | Four official OpenAPI snapshots and checksums exist; runtime validation is partial | Contract inventory |
| Commands | A clean install is now one command. npm run setup installs, builds, migrates and creates the administrator; npm run admin:create and npm run migrate are the same steps on their own. The broken migration:up/migration:down scripts, which called a @mikro-orm/cli the manifest does not install, are replaced by the compiled entry point. The worker still cannot start under tsx: the entities need decorator metadata esbuild does not emit |
installer, administrator, migration entry, API scripts |
| Administrator | There is no default account. The first person is created over POST /auth/bootstrap, by the installer, by npm run admin:create or by the seed — never by reaching past the API |
bootstrap route, identity |
| Frontends | Separate Nuxt apps with three checkout kits and local gateway SVGs | Checkout, icons |
| Webhooks | PostgreSQL is the default transport; Compose explicitly selects BullMQ for the worker. Mongo and Redis are optional integration-test configurations | Compose, queue factory |
| Runtime documentation | API now reads English fidelity files under docs/en/fidelity/; Docker includes those files and the ignore rules allow them |
Reader, Dockerfile |
| Stack smoke | Exercises all three providers and ledger behavior. Passing it alone does not prove webhook delivery by the worker | Smoke |
All source links above refer to repository files; they must remain resolvable through the documentation checker.
#Validation of this reorganization
- Twelve gateway integration tests passed against an isolated PostgreSQL database, including discovery of the new English fidelity paths and nonempty gap lists.
npm run docs:checkvalidates local Markdown links and language counterparts; it is included in the CI checks job.- The API build and a direct check of its compiled fidelity reader validate runtime path resolution independently of the process working directory.
- Docker packaging was reviewed in the Dockerfile and ignore rules. Docker Desktop's engine is unavailable locally, so no container build/start is claimed.
- The broader 286-test result and browser screenshots belong to the previous dated payment audit and icon audit; they were not all rerun for this move.
#Known issues retained explicitly
- Provider limitations remain in the three fidelity reports, including partial validation and synthetic buyer experiences.
- The console's conditional help button has a production hydration warning recorded during the icon audit; the documentation move does not fix that UI.
- The webhook-attempt endpoint does not constrain the event to the application in the path. This existing scope gap is retained in Webhooks.
- Setup requires a PostgreSQL database and the extensions needed by the migrations;
a test run without
DATABASE_URLskips database suites. npm run setup --local,npm run migrate, its--downround trip andnpm run admin:createwere run against a local PostgreSQL 13 on 2026-09-07, including the idempotent, wrong-password and wrong-token paths. The Docker mode of the installer is written and unexecuted: this machine's engine did not answer.--freshshares its code path with the verified--down, but a full walk-back was not run end to end.
Review commands and source paths again when behavior changes. A successful link check does not prove every sentence is accurate or every external URL available.