i18n for a cultural platform

How waaseyaa’s i18n package handles language negotiation and multilingual entities — built for an indigenous cultural platform where language isn’t a feature, it’s the point.

March 21, 2026 · 6 min · Russell

Replacing a homegrown database layer with DBAL

How waaseyaa migrated from a homegrown PdoDatabase to Doctrine DBAL across 67 commits — and how all three applications upgraded without breaking.

March 20, 2026 · 6 min · Russell

JSON:API from Framework to SPA: Waaseyaa's API Layer

How waaseyaa’s JSON:API layer works — ResourceSerializer, SchemaPresenter, and how Tier 3 specs let a new session pick up mid-feature without re-explaining the whole contract.

March 19, 2026 · 6 min · Russell

Deny-unless-granted: access control in waaseyaa

How waaseyaa’s AccessPolicyInterface implements deny-unless-granted semantics with field-level access control — and how GitHub milestones kept it from scope-creeping.

March 18, 2026 · 5 min · Russell

Building a temporal layer so your AI never lies about time

How Claudriel’s temporal subsystem pins time per request, resolves timezones from context, and detects clock drift before it corrupts AI reasoning.

March 17, 2026 · 8 min · Russell

The entity system at the heart of Waaseyaa

How waaseyaa’s EntityInterface, ContentEntityBase, and field system work — and how the entity-system specialist skill made cross-session development possible.

March 16, 2026 · 5 min · Russell

Three skills for governing multi-repo co-development with Claude Code

A skill set that governs framework-app co-development across three repos: enforcing patterns, auditing divergence, and extracting shared code.

March 15, 2026 · 7 min · Russell

Waaseyaa: building a Drupal-inspired PHP CMS with AI

What waaseyaa is, why it exists, and how planning with GitHub issues before coding changes the dynamic of building complex software with AI.

March 14, 2026 · 6 min · Russell

PSR-20: Clock Interface in PHP

Learn how PSR-20’s Clock interface makes time-dependent code testable and predictable by abstracting PHP’s time functions.

April 20, 2025 · 7 min · Russell

PSR-18: HTTP Client in PHP

Discover PSR-18’s HTTP client interface for making standardized HTTP requests, enabling swappable HTTP client implementations in PHP.

April 6, 2025 · 6 min · Russell