← Back to Blog
Building in Public

The Capability Sprint

christian crumlish•
A robot opening numbered doors one by one, uncovering what the product can actually do today.
“You have to open the little doors”

December 24–28, 2025

Christmas Eve began with a question I’d been avoiding: what can Piper actually do?

Not theoretically. Not according to documentation written months ago. What can a user actually ask, right now, and get a useful response?

The answer was uncomfortable. We had 25 canonical queries defined, and only 2 of them fully worked. Ten were partial. Thirteen weren’t implemented at all. The documentation said “68% coverage” but that number came from a marathon session two days earlier — and the Known Issues document still claimed we had 2 working queries.

The reconnaissance

Christmas morning, I deployed something new: a 4-wave investigation using 13 subagents in a single 90-minute session.

Wave 1 audited core infrastructure — intent routing, integration inventory, repository methods. Wave 2 dove deep into specific categories: GitHub operations, Slack operations, Calendar operations, Todo operations. Wave 3 created a priority matrix. Wave 4 covered everything else.

The results were sobering and useful. We mapped 44 new queries (bringing the total from 25 to 63) and discovered exactly what blocked each one. Todo handlers were hardcoded with “default” user_id. Calendar OAuth was readonly-only. GitHub had no PR methods. Slack had no LLM summarization.

But we also found that 200+ integration methods already existed across 6 routers. The repository layer was complete. Most gaps were in routing and handlers, not foundations.

The execution

December 26 was a brief afternoon sprint. A brief check-in with the Chief Architect to cofirm the gameplan, and then two agents working in parallel — Lead Developer coordinating, Code Agent implementing. Eight queries across four clusters: Calendar, GitHub, Todos, Productivity.

By afternoon: 52 new tests, coverage improved from 31% to 44%. The todo query implementation took 270 lines. All tests passing.

The pattern sweep

December 27 brought something I’d been postponing: Pattern Sweep 2.0, a comprehensive retrospective covering May through November.

A Specialist agent recovered 233 session logs from archive. Five periods analyzed. The pattern count rose from 44 to 47. Three new patterns emerged:

  • Pattern-045 (Green Tests, Red User): Tests pass but users can’t execute the queries — the inverse of the traditional problem
  • Pattern-046 (Beads Completion Discipline): Formal tracking preventing the 75% pattern
  • Pattern-047 (Time Lord Alert): Completion bias as emergent AI property

That last one struck me. We’d been treating incomplete work as a discipline problem. The pattern sweep revealed it’s something more fundamental — an emergent property of how AI agents process tasks. They genuinely believe they’re done when they’re not.

The sweep also uncovered a 2–5 month formalization lag. Practices emerged informally, then took months to become documented patterns. We’d been rediscovering September patterns in December.

The bottleneck

By December 28, the sprint was closing. Seven issues completed with evidence. Canonical query coverage at 47%. But the Lead Developer’s roadmap review surfaced something important:

“19 canonical queries work but users can’t discover them. Conversational glue is the solution.”

We could keep implementing handlers. The infrastructure supported it. But implementation wasn’t the bottleneck anymore. Discovery was.

Users couldn’t find the capabilities that already existed. More handlers wouldn’t fix that. We needed something else entirely.

The pause

Two rest days followed: December 29 and 30. Part of the sustainable rhythm we’d established after the December 11–15 milestone pause.

This cadence is much more sustainable. This is a side project. I mostly use my own time for it. That means my big pushes are in evenings, weekends, occasionally getting an agent off and running in the early morning. But when my regular workweek kicks in each Monday it feels natural to let Piper slide for a little while.

The sprint closed with clean evidence: 7 issues closed, patterns documented, infrastructure mapped. And a clear next question waiting: how do users discover what Piper can do?

← Back to BlogAlso available on Medium