Architecture Layers

7 Application — full app bootstrap, CLI, deployment
6 API & Serialization — JSON:API, GraphQL, normalization
5 Node & Routing — content nodes, URL routing, menus
4 Access & Taxonomy — permissions, roles, vocabularies
3 Entity — entity types, bundles, storage handlers
2 Field & Storage — typed fields, schemas, database abstraction
1 Foundation — dependency injection, events, configuration

Entity System

At the core of Waaseyaa is a Drupal-inspired entity/field model, rebuilt from scratch for modern PHP. Entities are typed, fieldable content objects. Fields are self-describing value objects with validation, serialization, and storage built in.

Access Control

Security follows a deny-unless-granted model. Every operation on every entity and field is denied by default. Access is granted through explicit policies, evaluated at both the entity and field level.

API Layer

Define an entity type and Waaseyaa auto-generates full CRUD endpoints in both JSON:API and GraphQL formats. No controllers to write, no routes to register.

AI Packages

AI is not bolted on. Waaseyaa ships dedicated packages that treat AI as infrastructure, not a feature.