A 90-minute onboarding walkthrough is a worse teacher than an agent with full architectural memory. Statefulai turns the IDE into the most patient senior on the team.
Real prompts from a beta team. Names changed, references real.
src/server/auth/*. The pattern is requireSession() wrapping each route handler; it sets req.user and 401s on missing cookies. We decided cookies over JWT in ADR-007 (Mar 21). Want me to scaffold a new protected route?
▸ semantic: src/server/auth/* · episodic: ADR-007 · procedural: @no-jwt-cookies
src/server/routes/me.ts · 18 lines. Includes requireSession(), Zod input parsing, and the standard ApiResponse<User> envelope. Tests added. pnpm typecheck and pnpm test --filter routes pass locally.
▸ procedural: @zod-on-boundary · @pnpm-typecheck-pre-commit
audit field carries the redaction reason. The wiki page hasn't been updated — flagging to @rena to refresh.
▸ episodic: ADR-019 · semantic: ApiResponse · procedural: @redact-pii
The architectural graph knows every module, contract, and symbol. Onboarding queries that used to require a Slack-then-grep loop become a single hop.
ADRs, decisions, incidents — and the conversations that produced them — linked back to the code. The "why" is never more than one citation away.
The new hire's first PR follows lint rules, naming patterns, and team conventions automatically — because the agent retrieved them alongside the task context.