Skip to content

Sillo Internal Engineering Documentation

How Sillo works internally, documented subsystem by subsystem.

Version: 2026-08-11 Audience: Core maintainers, contributors, senior engineers, framework architects Purpose: Preserve deep institutional knowledge about how Sillo works internally


#DocumentDescription
1Architecture OverviewSystem layers, boundaries, component relationships, dependency graph
2Application LifecycleSilloApp, ASGI lifespan, startup/shutdown, state management
3Configuration SystemConfig class, .env loading, secret masking, environment variables
4Type System & EncodingCore type aliases, jsonable_encoder, custom encoders, serialization
#DocumentDescription
5Routing SystemRoute compilation, path matching, typed converters, groups, mounted routers
6Middleware PipelineBaseMiddleware, ASGI bridge, middleware chain, execution order
7HTTP RequestBaseContext, Request, body parsing, form data, file uploads
8HTTP ResponseBaseResponse, JSON/File/Streaming/Redirect responses, the sillo.responses builders
9HTTP CorrectnessContent negotiation, ETags, range requests, HTTP client
10Exception HandlingException hierarchy, ExceptionMiddleware, error handlers, status codes

Part III: Dependency Injection & Validation

Section titled “Part III: Dependency Injection & Validation”
#DocumentDescription
11Dependency InjectionDepend(), Dependant tree, execution plan, resolution algorithm
12Parameter ExtractionQuery/Header/Cookie/Path/Form/File markers, dual-mode validation
13Validation SystemPydantic compilation, LocationSpec, CompiledValidator, error accumulation
14OpenAPI GenerationSchema building, security schemes, documentation UIs, route iteration
#DocumentDescription
15Authentication ArchitectureuseAuth, AuthenticationBackend, AuthenticationMiddleware, scheme handling
16Auth BackendsSession auth, JWT auth, API key auth, token lifecycle
17User SystemUserProtocol, UserBaseModel, UserManager, SimpleUser, mixins
18Permissions & GroupsPermission model, groups, PermissionMixin, cache, authorization flow
19Password HashingSchemes (bcrypt/argon2/scrypt/pbkdf2), verification, password utilities
#DocumentDescription
20Security MiddlewareShield (headers), CORS, CSRF, rate limiting strategies and backends
#DocumentDescription
21Record ORM - ModelsModel class, fields, mixins, casting, serialization, soft deletes
22Record ORM - QueriesRecordQuerySet, scopes, RecordManager, query helpers, pagination
23Record ORM - TransactionsTransaction context, savepoints, manual control, DatabaseManager
24Record ORM - MigrationsMigration commands, MigrationHelper, bridge module, console commands
25Record ORM - Factories & SeedersFactory, FactoryBuilder, Seeder, FixtureLoader, test data generation
#DocumentDescription
26Work - Task SystemTask class, lifecycle, priorities, hooks, serialization
27Work - Queue SystemQueue backends, job dispatch, workers, middleware, batches, failed jobs
28Work - SchedulerCron parser, triggers, scheduler manager, middleware
29Work - Background TasksBackgroundTask, Supervisor, restart policies, circuit breaker
#DocumentDescription
30Events SystemEvent, EventEmitter, transports (memory/redis/persistent/record), propagation
31WebSocketsWebSocket state machine, consumers, channels, groups, history
#DocumentDescription
32Session ManagementSessionMiddleware, cookie/file backends, Session object, config
33Cache SystemMemoryCache, RedisCache, @cache decorator, serialization, tags
34Mail ServiceMailClient, SMTP, templates, attachments, config
35Console FrameworkCommand, Console, arguments/options/flags, output, prompts, terminal
36PaginationStrategies (PageNumber/LimitOffset/Cursor), data handlers, paginators
#DocumentDescription
37Test ClientSync/async ASGI test clients, transport, WebSocket testing, helpers
38Helpers & UtilitiesFiles, retry, crypto, JWT, network, HTML, strings, text utilities
#DocumentDescription
39sillo-oauthProvider abstraction, OAuth flow, state management, PKCE, testing
40sillo-inertiaAdapter, HTML/JSON decision, props, Vite integration, version mismatch
41sillo-startProject creation, tarball fetching, personalization, naming utilities
42@sillo/atlasOpenAPI reference, DOM construction, API client, search, snippets
43records-ormStandalone pypika-based ORM, backend abstraction, SQLite backend
#DocumentDescription
44Architectural DecisionsKey design choices, trade-offs, rejected alternatives
45Debugging GuideSymptom → cause → resolution chains, inspection points
46Extending SilloExtension patterns, contracts, where new code lives
47Change Impact AnalysisModule dependency chains, modification consequences
48GlossarySillo-specific terminology, framework concepts

New to the codebase? Start with 01-ARCHITECTURE-OVERVIEW.md, then read 02-APPLICATION-LIFECYCLE.md.

Debugging a production issue? Go to 47-DEBUGGING.md for symptom-based diagnosis.

Adding a new feature? Read 48-EXTENDING.md for extension patterns, then 49-CHANGE-IMPACT.md to understand blast radius.

Modifying core code? Check 49-CHANGE-IMPACT.md first to understand dependencies.

Understanding a specific subsystem? Use the table above to find the relevant document.


All technical claims in this documentation are derived from actual source code analysis of the Sillo repository at /Users/admin/sillo.build/. File paths reference the working tree as of 2026-08-11.

Key source locations:

  • Core framework: /Users/admin/sillo.build/core/sillo/
  • Tests: /Users/admin/sillo.build/core/tests/
  • OAuth: /Users/admin/sillo.build/oauth/sillo_oauth/
  • Inertia: /Users/admin/sillo.build/inertia/sillo_inertia/
  • Start: /Users/admin/sillo.build/start/sillo_start/
  • Starter: /Users/admin/sillo.build/starter/
  • Atlas: /Users/admin/sillo.build/atlas/src/
  • records-orm: /Users/admin/sillo.build/records-orm/records_orm/