Index
Everything in the record, filterable by status. Read-only: documents change in git, not here.
RFC-0001
Dependency injection container
Accepted
RFC-0002
Configuration objects
Accepted
RFC-0003
Database component
Accepted
RFC-0004
TOML configuration loading
Accepted
RFC-0005
Paths value object
Accepted
RFC-0006
Container improvements
Accepted
RFC-0007
Binding lifetimes
Accepted
RFC-0008
Filesystems
Proposed
RFC-0009
Events
Proposed
RFC-0010
HTTP transport
Proposed
RFC-0011
Views
Proposed
RFC-0012
PostgreSQL database layer
Proposed
RFC-0013
Entities
Proposed
RFC-0014
Sessions
Proposed
RFC-0015
Module system
Proposed
RFC-0016
Module scopes
Proposed
RFC-0017
Migration runner
Proposed
ADR-0001
The panel is a single system, not a panel and an engine
Accepted
ADR-0002
Dependencies select their instance through parameter attributes
Accepted
ADR-0003
Mutable registries are sealed into immutable catalogues
Accepted
ADR-0004
The container does not implement PSR-11
Accepted
ADR-0005
Configuration is held in typed objects
Accepted
ADR-0006
Environment variables are only read during bootstrap
Accepted
ADR-0007
MySQL and MariaDB are the default database
Accepted
ADR-0008
Database access is built directly on PDO
Accepted
ADR-0009
The panel runs as a FrankenPHP worker in a single binary
Accepted
ADR-0010
Configuration files are TOML
Accepted
ADR-0011
Identifiers are ULIDs generated in PHP
Accepted
ADR-0012
Modules are installed with Composer used as a library
Accepted
ADR-0013
Core features are modules
Accepted
ADR-0014
Class-level attributes are memoised as presence flags
Accepted
ADR-0015
Dependencies are locked and Composer is pinned
Accepted
ADR-0016
PostgreSQL 16 is the only supported database
Accepted
ADR-0017
SQL is produced by a compiler, not by the query objects
Accepted
ADR-0018
HTTP messages are bespoke, not PSR-7
Accepted
ADR-0019
Twig is the template engine
Accepted
ADR-0020
Resolution data is not memoised per parameter
Accepted
ADR-0021
All file access goes through Flysystem
Accepted
ADR-0022
Store client addresses truncated by default
Proposed
ADR-0023
Replace MySQL and MariaDB with PostgreSQL
Accepted
ADR-0024
Give each external module its own schema
Proposed
ADR-0025
Run migrations only from commands, under maintenance
Proposed
ADR-0026
Migrate each deployment in one transaction
Proposed
ADR-0027
Downgrade external modules through a migration map
Proposed
ADR-0028
Run migrations in module dependency order
Proposed
ADR-0029
Require a binding for named and qualified resolutions
Accepted