# Behavior traces — adonisjs/core

> Canonical page: https://codevetter.com/unpack/core/behavior-traces

# Behavior traces — 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.

The principal flows were followed across entrypoints, providers, adapters, and output code. HTTP startup establishes lifecycle and dependency ordering before listening. Request validation moves from a provider-installed request macro to context-derived data and a compiled VineJS validator. Controller generation moves from Ace dispatch through command lifecycle and stub generation to a destination file. Additional traces cover generated route persistence, codegen ordering, package setup, shutdown, and test startup.
- HTTP startup: Ignitor.httpServer() → HttpServerProcess.start() → Ignitor.createApp('web') → app.init() → app.boot() → app.start(callback) → container.make('server') → server.boot(). — [src/ignitor/main.ts#L116-118](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/main.ts#L116-L118) [src/ignitor/http.ts#L162-172](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L162-L172)
- HTTP listen/readiness: start callback → createHTTPServer(server.handle.bind(server)) → server.setNodeServer → #listen → app.notify → logger.info → emitter.emit('http:server_ready') → #monitorAppAndServer. — [src/ignitor/http.ts#L125-144](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L125-L144) [src/ignitor/http.ts#L178-200](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L178-L200)
- HTTP shutdown: app.terminating callback → #close → nodeHttpServer.close; a post-start server error instead sets process.exitCode=1, logs fatal, and calls app.terminate. — [src/ignitor/http.ts#L52-56](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L52-L56) [src/ignitor/http.ts#L76-88](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/http.ts#L76-L88)
- Ace dispatch: AceProcess.handle(argv) → createApp('console') → app.init → createAceKernel(app, commandName) → bindValue('ace') → loading hook optionally boots/starts the app → configure callback → kernel.handle → conditional termination. — [src/ignitor/ace.ts#L66-94](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/ace.ts#L66-L94) [src/ignitor/ace.ts#L101-120](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/ace.ts#L101-L120)
- Controller scaffolding: BaseCommand.exec hydrates and invokes prepare/run through the container; MakeController.prepare selects main/actions/resource/API stub; run creates Codemods, sets force, builds entity state, and calls makeUsingStub. — [modules/ace/commands.ts#L105-123](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/ace/commands.ts#L105-L123) [commands/make/controller.ts#L106-142](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/make/controller.ts#L106-L142) [commands/make/controller.ts#L144-159](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/make/controller.ts#L144-L159)
- Scaffold persistence: makeUsingStub → app.stubs.create → stubs.build → optional readFile/replaceWith → stub.generate → relative destination normalization → skipped/succeeded CLI action. The controller stub sets its output path through exports({to: ...}). — [modules/ace/codemods.ts#L634-672](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/ace/codemods.ts#L634-L672) [stubs/make/controller/main.stub#L1-7](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/stubs/make/controller/main.stub#L1-L7)
- Request validation: VineJSServiceProvider.boot installs HttpRequest.validateUsing → new RequestValidator(request.ctx) → #processValidatorOptions → options.data or #requestData → validator.validate. tryValidateUsing follows the equivalent path with validator.tryValidate. — [providers/vinejs_provider.ts#L80-86](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/vinejs_provider.ts#L80-L86) [modules/http/request_validator.ts#L59-89](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/http/request_validator.ts#L59-L89) [modules/http/request_validator.ts#L124-153](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/modules/http/request_validator.ts#L124-L153)
- Development route persistence: AppServiceProvider.ready checks !inProduction and router.commited → emitRoutes → emitRouteTypes → mkdir/writeFile routes.d.ts → writeFile routes.json → app.notify; failures are caught and logged. — [providers/app_provider.ts#L307-325](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/app_provider.ts#L307-L325) [providers/app_provider.ts#L377-383](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/providers/app_provider.ts#L377-L383) [src/utils.ts#L38-58](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/utils.ts#L38-L58)
- Standalone generation: Codegen.run → importAssembler → new CodeGen with RC hooks → codegen.run callback after index output → #warmUpApp → setEnvironment('web')/setMode('warmup') → boot/warmUp → router.commit → emitRouteTypes → JSON route return. — [commands/codegen.ts#L80-103](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/codegen.ts#L80-L103) [commands/codegen.ts#L109-133](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/codegen.ts#L109-L133) [tests/commands/codegen.spec.ts#L156-191](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/tests/commands/codegen.spec.ts#L156-L191)
- Package setup: Add.run resolves shorthand npm names → createCodemods → installPackages → sequential kernel.exec('configure') → built-in setup or app.import(package) → packageExports.configure(command) → aggregate success/failure reporting. — [commands/add.ts#L101-150](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/add.ts#L101-L150) [commands/add.ts#L154-169](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/add.ts#L154-L169) [commands/configure.ts#L161-205](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/commands/configure.ts#L161-L205)
- Application test startup: TestRunnerProcess.run → createApp('test') → init → boot → start(configure callback) → user test callback; the method does not itself terminate the application. — [src/ignitor/test.ts#L67-73](https://github.com/adonisjs/core/blob/e1b2357eacc2e8e72e0815abbc5f2e94264acffb/src/ignitor/test.ts#L67-L73)

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)
