Two months of senior engineering in 36 AI-assisted hours
A 36-hour window where an autonomous session opened a stack of PRs and the rest of the time went to landing them cleanly.
A 36-hour window where an autonomous session opened a stack of PRs and the rest of the time went to landing them cleanly.
How Anokii went from one monolithic repo with duplicate identity code to three composable Composer packages, published by a governed CI split instead of a manual release process.
Why AI agents modifying a Waaseyaa app need a DSL, an AST-safe patch generator, and sovereignty guardrails, instead of raw file edits.
How an Elder’s whiteboard video becomes a searchable Anishinaabemowin lesson, on infrastructure the community owns end to end.
How Waaseyaa serves the same content as a web page for people and clean Markdown for AI agents from a single URL, using HTTP content negotiation.
How the waaseyaa/agent-output package shrinks PHPUnit, PHPStan, and bin/check-* output to compact NDJSON envelopes so AI agents do not drown their context window in CI noise.
Sixty-seven packages, one CI matrix, one PHPStan target. What it takes to actually move the floor.
An upgrade is also a decision about what not to use. Property hooks, the pipe operator, and an array_find pass we mostly rejected.
What a full Spec Kitty mission actually looks like end to end: spec, plan, tasks, implement, review, merge.
Three deprecation categories. Twenty-nine call sites. A test corpus that surfaces them all.