# Data flow — adonisjs/core

> Canonical page: https://codevetter.com/unpack/core/data-flow

# Data flow — adonisjs/core

Scanned commit e1b2357eacc2e8e72e0815abbc5f2e94264acffb (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Application-root URLs and RC configuration feed lifecycle creation and lazy container bindings. Incoming HTTP traffic crosses from a Node server into the dependency-provided framework handler, while local validation adapters assemble request data for VineJS. CLI inputs become command state, generated entities, AST transformations, or assembler operations. Development routing data is written to disk and announced to the parent process; standalone codegen passes equivalent serialized routes in memory. Verification tokens separate public secrets from hashes intended for consumer-owned persistence.
- Ignitor passes appRoot, environment, and importer into Application, then publishes the instance through setApp before running tap callbacks. — [src/ignitor/main.ts#L94-100](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/main.ts#L94-L100) [services/app.ts#L22-26](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/services/app.ts#L22-L26)
- Encryption configuration flows from app.config.get('encryption') through configProvider.resolve into EncryptionManager; the default Encryption class binding calls manager.use(). — [providers/app_provider.ts#L181-202](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/app_provider.ts#L181-L202)
- HTTP requests and responses enter server.handle through a bound Node HTTP handler; the framework server retains the Node server through setNodeServer. — [src/ignitor/http.ts#L171-179](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L171-L179)
- RequestValidator spreads request.all() first, then assigns params, headers, and cookies from their request APIs, making these reserved fields override same-named body properties. — [modules/http/request_validator.ts#L59-67](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/http/request_validator.ts#L59-L67)
- Validation options receive request-specific defaults only when caller overrides are missing; options.data replaces automatic request assembly before validate or tryValidate receives the data. — [modules/http/request_validator.ts#L69-89](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/http/request_validator.ts#L69-L89) [modules/http/request_validator.ts#L124-153](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/http/request_validator.ts#L124-L153)
- Multipart schema values are checked for the isMultipartFile marker; configured limits fill missing file limits, file.validate runs, and file.errors are translated into VineJS reports. — [src/vine.ts#L28-30](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/vine.ts#L28-L30) [src/vine.ts#L49-84](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/vine.ts#L49-L84)
- Controller CLI input becomes an entity through app.generators.createEntity; the selected stub calculates class/file names and exports its destination through app.httpControllersPath before stub generation writes it. — [commands/make/controller.ts#L144-159](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/make/controller.ts#L144-L159) [stubs/make/controller/main.stub#L1-11](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/stubs/make/controller/main.stub#L1-L11) [modules/ace/codemods.ts#L634-660](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/ace/codemods.ts#L634-L660)
- Committed router state feeds router.generateTypes(2), which is written as ScannedRoutes plus RoutesList augmentation; development output also serializes router.toJSON and notifies the parent of routesFileLocation. — [src/utils.ts#L38-58](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/utils.ts#L38-L58) [providers/app_provider.ts#L307-319](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/app_provider.ts#L307-L319)
- Standalone codegen JSON-round-trips router.toJSON to discard closure handlers and unserializable properties, then returns that route shape to the assembler callback. — [commands/codegen.ts#L87-103](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/codegen.ts#L87-L103) [commands/codegen.ts#L127-131](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/codegen.ts#L127-L131)
- Edge clientRoutes exports only named routes and selects domain, methods, pattern, tokens, and name; routesJSON turns this selected structure into JSON. — [providers/edge_provider.ts#L105-122](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/edge_provider.ts#L105-L122) [providers/edge_provider.ts#L148-152](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/edge_provider.ts#L148-L152)
- VerificationToken.seed returns a Secret and SHA-256 hash; transient tokens add userId and expiration, computeValue encodes identifier and secret, and verify compares a recomputed hash without performing persistence itself. — [src/helpers/verification_token.ts#L81-105](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/helpers/verification_token.ts#L81-L105) [src/helpers/verification_token.ts#L145-167](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/helpers/verification_token.ts#L145-L167)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
