For developers
How to check a change
Which checks to run before saying a change is ready.
Test layers
| Layer | Purpose |
|---|---|
| Pure/unit | Money allocation, state transitions, parsing, rendering, and validation. |
| Service integration | PostgreSQL writes, ownership, idempotency, callbacks, and audits. |
| End-to-end | Buyer, seller, creator, support, admin, payment, shipment, and finance journeys. |
| Concurrency | Two-connection claims, one-time challenges, inventory, carts, recipients, payouts, and support cases. |
| PostgreSQL | Runs the complete corpus, including race and lock cases, with zero database-specific skips. |
| Provider contracts | Deterministic adapters, signature checks, retry, ambiguity, and certification gates. |
Baseline gate
npm run db:start
npm run env:check
npm run typecheck
npm test
npm audit --omit=dev
npm run docs:check
git diff --checkCI runs environment validation, type checking, a dependency audit, PostgreSQL migrations, and the complete PostgreSQL test suite. Documentation checks validate page inventory, internal links, anchors, diagrams, and required disclosure vocabulary.
OpenAI evaluation and smoke tests
The recorded conversation corpus covers buyer and seller intent, Nigerian English/Pidgin, spelling, role changes, unsafe requests, price ranges, and regressions. ai:smoke:openai exercises structured planner scenarios. ai:smoke:conversation seeds an isolated catalogue and runs the real session, router, tool plan, search, clarification, correction, and no-stock path.
Run paid live checks only when the planner, prompt, schema, tools, or conversation runtime changes. Documentation-only changes do not consume model quota.
Remaining quality gaps
AQ5 and AQ6 are complete for their declared exit gates: supported production turns have immutable redacted evidence, offline candidate reproduction/diff, bounded candidate capture, risk-based grading, first-failure clustering, reviewed replay-backed regression fixtures, durable quality signals/alerts, and route-complete read/action replay contracts. The final inventory covers every supported WhatsApp buyer/seller route and named resume workflow. Mandatory live-model CI thresholds, full distributed tracing/OpenTelemetry, privacy post-condition drills, continuous financial scanners, and exact-target live-provider certification remain open programme work. A large deterministic suite does not by itself certify a live provider or prove production operations.
.github/workflows/ci.ymlsrc/conversation-replay.tssrc/conversation-replay-runtime.tssrc/conversation-review.tssrc/conversation-quality-operations.tsscripts/replay-conversation.tsscripts/conversation-quality-ops.tstest/conversation-replay.test.tstest/conversation-review.test.tstest/conversation-quality-operations.test.tsscripts/openai-planner-smoke.tsscripts/openai-conversation-smoke.tsdocs/audits/neo-conversational-commerce-architecture-audit.md
