The Game Panel specification

The Game Panel index

Generated by ArchDoc. Do not edit.

RFCs

ID Title Status Decided Updates Updated by Obsoletes Obsoleted by Implemented in
RFC-0001 Dependency injection container accepted (backfilled) 2026-03-28   RFC-0006, RFC-0007     container
RFC-0002 Configuration objects accepted (backfilled) 2026-03-29   RFC-0004     config
RFC-0003 Database component accepted (backfilled) 2026-04-17   RFC-0004, RFC-0012     database, query-builder, schema
RFC-0004 TOML configuration loading accepted (backfilled) 2026-06-01 RFC-0002, RFC-0003 RFC-0005, RFC-0008     config
RFC-0005 Paths value object accepted (backfilled) 2026-07-04 RFC-0004 RFC-0008     config
RFC-0006 Container improvements proposed   RFC-0001        
RFC-0007 Binding lifetimes proposed   RFC-0001        
RFC-0008 Filesystems proposed   RFC-0004, RFC-0005        
RFC-0009 Events proposed            
RFC-0010 HTTP transport proposed            
RFC-0011 Views proposed            
RFC-0012 PostgreSQL database layer proposed   RFC-0003        
RFC-0013 Entities proposed            
RFC-0014 Sessions proposed            
RFC-0015 Module system proposed            
RFC-0016 Module scopes proposed            

ADRs

ID Title Status Decided Updates Updated by Obsoletes Obsoleted by Implemented in
ADR-0001 The panel is a single system, not a panel and an engine accepted (backfilled) 2026-03-04          
ADR-0002 Dependencies select their instance through parameter attributes accepted (backfilled) 2026-03-28         container, database
ADR-0003 Mutable registries are sealed into immutable catalogues accepted (backfilled) 2026-04-22         config
ADR-0004 The container does not implement PSR-11 accepted (backfilled) 2026-03-28         container
ADR-0005 Configuration is held in typed objects accepted (backfilled) 2026-03-29         config
ADR-0006 Environment variables are only read during bootstrap accepted (backfilled) 2026-03-29         config
ADR-0007 MySQL and MariaDB are the default database accepted (backfilled, obsolete) 2026-03-29       ADR-0016 database, query-builder, schema
ADR-0008 Database access is built directly on PDO accepted (backfilled) 2026-04-17         database
ADR-0009 The panel runs as a FrankenPHP worker in a single binary accepted (backfilled) 2026-03-30          
ADR-0010 Configuration files are TOML accepted (backfilled) 2026-04-22         config
ADR-0011 Identifiers are ULIDs generated in PHP accepted (backfilled) 2026-05-14          
ADR-0012 Modules are installed with Composer used as a library accepted (backfilled) 2026-06-01          
ADR-0013 Core features are modules accepted (backfilled) 2026-06-01          
ADR-0014 Class-level attributes are memoised as presence flags accepted (backfilled) 2026-08-08          
ADR-0015 Dependencies are locked and Composer is pinned accepted (backfilled) 2026-08-19          
ADR-0016 PostgreSQL 16 is the only supported database accepted (backfilled) 2026-08-19     ADR-0007    
ADR-0017 SQL is produced by a compiler, not by the query objects accepted (backfilled) 2026-08-19          
ADR-0018 HTTP messages are bespoke, not PSR-7 accepted (backfilled) 2026-08-21          
ADR-0019 Twig is the template engine accepted (backfilled) 2026-08-25          
ADR-0020 Resolution data is not memoised per parameter accepted (backfilled) 2026-09-02          
ADR-0021 All file access goes through Flysystem accepted (backfilled) 2026-09-03          
ADR-0022 Client addresses are stored truncated by default proposed            

Spec

Page Title Includes Stale
config Configuration ADR-0003, ADR-0005, ADR-0006, ADR-0010, RFC-0002, RFC-0004, RFC-0005  
container Container ADR-0002, ADR-0004, RFC-0001  
database Database ADR-0002, ADR-0007, ADR-0008, RFC-0003 yes
glossary Glossary ADR-0002, ADR-0003, RFC-0001, RFC-0002, RFC-0003, RFC-0004, RFC-0005  
query-builder Query builder ADR-0007, RFC-0003 yes
schema Schema builder ADR-0007, RFC-0003 yes
values Values    

Refs

ID Title Verified
REF-0001 Known issues 2026-09-16