Delivery 1 Quality Evidence Utilities
This small TypeScript project accompanies Part II, Delivery 1 of the MSQE handbook. It is intentionally bounded: it demonstrates code reading, typed quality results, runtime validation of untrusted data, and transformations that answer a quality question.
It is not an API-testing framework, a production service, or a schema-validation product.
Contents
src/inheritedAccountRecoveryCheck.tsis intentionally over-responsible code for Chapter 1's code-reading exercise. It compiles, but its design should be challenged before it is extended.src/qualityEvidence.tscontains the typed data model, all-or-nothing runtime validation, and transformations used in Chapters 2 and 3.src/runQualityEvidenceExample.tsruns the Chapter 3 example against local fixture data.
Validation
Use Node.js 20 or later. Install the declared development dependency and run:
npm install
npm run check
npm run start
The example uses only in-memory fixture data. Do not add customer data, credentials, or live service calls to this introductory project.
Evidence Semantics
The runner's receivedRecordCount is the number of validated input records before deduplication. uniqueExecutionCount and every outcome metric—failed and slow execution counts, endpoint failure counts, slow endpoints, and environment counts—are calculated from the deduplicated logical-execution population.
parseApiExecutionResults validates the complete input collection before a summary is produced. It fails fast on the first malformed record and does not return a partial summary or a rejected-record count.
Learning Boundaries
The manual validation in qualityEvidence.ts is deliberately small and explicit so readers can see the runtime boundary. Later parts will cover API contracts, data-quality systems, test frameworks, and production observability in depth.