← Back to Blog
Building in Public

Building on the Foundation: When Archaeological Discovery Becomes Pattern

christian crumlish•
A robot examining ancient columns, tracing the structural logic left by builders who came before.
“They really knew how to build!”

Building on the Foundation: When Archaeological Discovery Becomes Pattern

November 2

Yesterday we fixed “everything” in a Saturday marathon: 9,292 lines in 12.75 hours, four P0 blockers resolved, 100% test pass rate, ready for external alpha testing. The momentum is real. The system works. Tests pass.

But I’m not sprinting this Sunday. I’m planning. Saturday proved something about methodology: Systematic planning enables efficient execution.

Friday’s architectural analysis gave Saturday clear focus: Three P0 blockers, nothing else matters. Saturday executed that plan efficiently because the plan was good.

Sunday’s task: Create that same clarity for Phase 2 (P1 Critical issues). Three issues on deck:

  1. Error messages
  2. Action mapping
  3. Todo system completion

The planning session

My Chief Architect writes a gameplan for the P1 issues, following the latest template (v9.0). All eight sections. Phase −1 infrastructure verification mandatory. Multi-agent coordination specified. Risk assessment complete. STOP conditions defined.

Standard methodology. Good discipline.

The three P1 issues:

CORE-ALPHA-ERROR-MESSAGES (#283)

  • Problem: Technical error messages break conversational experience
  • Example: Empty input causes 30-second timeout, shows error
  • Solution: Conversational error fallbacks for all error types
  • Estimated effort: 4 hours

CORE-ALPHA-ACTION-MAPPING (#284)

  • Problem: “No handler for action: create_github_issue” errors
  • Root cause: Classifier names don’t match handler names
  • Example: Classifier outputs “create_github_issue” but handlers expect “create_issue”
  • Solution: Create action name mapping layer
  • Estimated effort: 2 hours

CORE-ALPHA-TODO-INCOMPLETE (#285)

  • Problem: Todo functionality never finished or wired up
  • Scope: Full CRUD operations end-to-end
  • Solution: Complete implementation (unclear what exists)
  • Estimated effort: 8–12 hours

Total: 14–18 hours of P1 work. After Phase 1 (P0 blockers) complete, this is Phase 2.

[SPECIFIC EXAMPLE NEEDED: Looking at 14–18 hours of P1 work after Saturday’s 12.75-hour sprint — feeling motivated to keep momentum or needing strategic pause?]

But there’s a difference between P0 and P1 planning. P0 was crisis response — blockers preventing external testing. P1 is quality improvement — system works, but can work better.

Different mindset. Not “what breaks everything?” but “what makes experience excellent?”

The documentation gap

While creating development gameplan, I mention another need to the Chief Architect: Documentation updates.

The problem: Saturday implemented JWT authentication. Full auth layer. Login flow. Token management. Password setup. But documentation doesn’t reflect this.

Alpha testing guide still says “just run setup wizard.” No mention of:

  • Login flow (new!)
  • JWT authentication (new!)
  • Password requirements (new!)
  • Multi-user considerations (new!)

I request: Treat documentation with full methodology rigor. Complete gameplan with Phase −1. Proper delegation to agents. Lead Dev supervision. Full methodology application. (I’ve been reminded recently not to cut corners even on the “little stuff.”)

Not “oh and update the docs too.” But “documentation is first-class work deserving systematic approach.”

Why this matters: Documentation isn’t afterthought. It’s how alpha testers learn the system. Bad docs = blocked testers = same problem we just solved for code.

The timeline consideration: Create documentation gameplan now, while Saturday’s work is fresh. Before I forget what changed. Before details fade. Before “obvious” becomes unclear.

Capturing knowledge when it’s fresh is methodology discipline. Not hoping to remember later.

The Phase −1 decision

I discuss with the Chief Architect how best to handle initial verification. Typically we deploy an agent to investigate infrastructure, and report findings. At times, I have to remind the chief not to try to do so directly (wasting token scanning its own sandbox instead of my filing system).

This time, we decide I will just check directly and report back. I can just tell this is something I can quickly, and that the inherent desire to be lazy and make an agent do it will actually involve more effort.

This is product thinking. Not “methodology says agents do infrastructure checks.” But “what’s most efficient for this specific situation?”

I have direct system access. I can run commands faster than explaining to agent what to look for. Methodology isn’t rigid rules. It’s systematic thinking adapted to context.

The now-traditional aha! moment

Infrastructure investigation begins. Checking what exists for each P1 issue.

Issue #283 (Error Messages):

  • Looking for existing error handling infrastructure
  • Finding what needs adding vs what needs wiring

Issue #284 (Action Mapping):

  • Checking classifier patterns
  • Examining handler names
  • Finding the mismatch points

Issue #285 (Todos):

  • Looking for todo-related code
  • Expecting to find fragments
  • Preparing to estimate full implementation

Then at 5:35 PM, Key discovery:

✅ Database Models: TodoListDB, TodoDB
✅ Repositories: TodoRepository, TodoListRepository, TodoManagementRepository
✅ Services: TodoKnowledgeService
✅ API Layer: TodoCreateRequest, TodoUpdateRequest, TodoResponse
✅ Domain Models: Todo, TodoList
✅ Tests: test_todo_management_api.py EXISTS!
✅ Documentation: PM-081-todo-api-documentation.md in archive

❌ Missing:
- Not wired to web routes
- Not connected to chat interface
- Not integrated with intent handlers

The Todo system isn’t missing. It’s (drumroll. please…) 75% complete.

Just like DocumentService on Saturday. Database layer sophisticated. Service layer functional. Integration layer missing.

Because infrastructure exists. We’re not building. We built this more than a month ago. We’re wiring now.

The pattern becomes visible

Saturday: DocumentService 75% complete → Wire it up

Sunday: Todo system 75% complete → Wire it up

The 75% Pattern Applied:

  1. Sophisticated infrastructure built previously
  2. Functional in database/service layers
  3. Never fully wired to web/chat layers
  4. Appears “missing” from user perspective
  5. Archaeological investigation reveals for agents (and context) what exists
  6. Wiring work much faster than rebuilding

Friday identified the pattern as abandoned work. Sunday reframes it: Not abandoned. Nearly complete. Waiting for integration.

The shift matters. “Abandoned work” feels like failure. “Nearly complete infrastructure” feels like asset.

Same technical reality. Different framing. Different strategy.

The parallel execution spproach

With Todo estimate revised (4–6 hours instead of 8–12), total P1 work drops from 14–18 hours to 10–14 hours.

I remind the Chief Architect that our Flywheel methodology recommends making used of parallel deployment whenever possible.

The strategy:

  • Code (Programmer): Development work #283, #284, #285 (10–14 hours)
  • Cursor (Test Engineer): Documentation updates (3–4 hours)

Different agents. Different tasks. Simultaneous execution.

Why this works:

  • Documentation doesn’t block development
  • Development doesn’t block documentation
  • Different skill sets (writing vs coding)
  • Can complete simultaneously
  • Total sprint time: ~10–14 hours instead of 18 hours

This is the multi-agent coordination pattern refined over months. Not “do one thing then another.” But “orchestrate multiple agents on complementary work.”

Saturday proved it works at scale (three agents, four P0 blockers, 12.75 hours). Sunday scales the pattern to P1 work.

What Sunday’s discoveries mean

Let me be explicit about what happened Sunday:

Planned to do: Create gameplans for P1 work (3 issues, 14–18 hours estimated)

Actually did:

  • Created comprehensive gameplans ✓
  • Discovered Todo infrastructure 75% complete ✓
  • Revised estimates from 14–18 hours to 10–14 hours ✓
  • Identified parallel execution opportunity ✓
  • Documented pattern for future archaeological investigations ✓

Time invested: ~2 hours of planning

Time saved: 4–8 hours on execution (by finding existing infrastructure)

ROI: 2:1 to 4:1 return on planning investment

This is why Sunday wasn’t coding day. Planning that reveals 75% complete infrastructure saves more time than starting to code without investigating.

The archaeological approach isn’t overhead. It’s efficiency.

Improving the pattern sweep

Sunday afternoon also brings strategic conversation with the Chief of Staff about pattern analysis.

Current state: Pattern sweep tool exists. Detects syntax-level patterns (async usage, repository patterns). Uses regex and file-based scanning.

The limitation: Misses architectural breakthroughs and methodology evolution.

Example miss: Top pattern detected was root_cause_identified (1,310 occurrences) but completely missed:

  • GREAT-2 completion breakthrough
  • Plugin architecture discovery
  • Third spatial pattern emergence
  • Completion matrix enforcement preventing 80% pattern

The tool counts occurrences. Doesn’t understand significance.

I wonder if the gap between “detecting patterns” and “understanding breakthrough moments” is even automatable or does it fundamentally require human judgment at some level?

My vision: Design automated pattern sweep using Serena MCP that detects:

  • Methodological pattern emergence
  • Architectural breakthrough moments
  • Decision-making evolution
  • Transformation points in development

Not just “this code pattern appears 1,310 times.” But “this is when systematic methodology shifted from reactive to proactive.”

Sunday plants seed for future enhancement. Not urgent. Not blocking. But important for understanding how methodology evolves.

What Sunday reveals about rest days

Sunday is lighter than Saturday. 2 hours of focused planning instead of 12.75 hours of intensive development.

But Sunday isn’t slacking. It’s strategic work.

Saturday’s pattern: Execute plan efficiently because Friday planned well

Sunday’s pattern: Plan Monday efficiently so execution works smoothly

The rhythm: Plan → Execute → Plan → Execute → Repeat.

Not every day is a coding sprint. Some days are architectural analysis (Friday). Some days are intensive development (Saturday). Some days are strategic planning (Sunday).

The variation isn’t inconsistency. It’s appropriate pacing for different work types.

Earlier in this project I just blazed through weekend, reveling in the abundant “spare” time to crank out code. At this stage, weekends feel like a good time to reflect on the previous push, take stock, clean up, and plan ahead.

Saturday reminded me: Good planning enables efficient execution.

Sunday applied the lesson: Archaeological investigation before implementation saves rebuilding.

All set for Monday

Sunday ends with clear Monday vision:

P1 Issues Ready:

  • #283: Error messages (4 hours)
  • #284: Action mapping (2 hours)
  • #285: Todo system (4–6 hours, infrastructure exists!)

Documentation Gameplan: Ready for parallel deployment with Cursor

Total estimated work: 10–14 hours development + 3–4 hours documentation = 14–18 hours parallel

Expected completion: Monday-Tuesday if momentum continues

The gift Sunday gives Monday: Same gift Friday gave Saturday. Clear focus. Defined scope. Known infrastructure. Realistic estimates.

Not “reactively fix things until they work.” But “systematically complete defined work with known effort.”

The archaeological discovery pattern crystallizes

Let me make the pattern explicit:

Step 1: Assume you’re building from scratch (your agents will)

Step 2: Investigate what exists (Phase −1)

Step 3: Discover what’s already built (for me, at this stage of the Piper Morgan project, this has consistently been 75% complete infrastructure)

Step 4: Revise estimates (wiring vs rebuilding)

Step 5: Execute efficiently (hours vs days)

Saturday example:

  • Assumed: Build document processing (8–12 hours)
  • Discovered: DocumentService exists (75% complete)
  • Revised: Wire existing infrastructure (2 hours)

Sunday example:

  • Assumed: Build todo system (8–12 hours)
  • Discovered: Todo infrastructure exists (75% complete)
  • Revised: Wire to web/chat (4–6 hours)

The pattern works because previous development was good. Not abandoned. Not failed. But incomplete vertical integration.

Database layer works. Service layer works. Web layer missing. Not because previous work was bad. But because previous priorities focused deeper before going wider.

Now we’re going wider (connecting layers) rather than deeper (building new infrastructure).

Planning is as important as coding

Sunday proves something subtle about development methodology:

Not every day is coding day.

Some days are architectural analysis. Some days are intensive development. Some days are strategic planning.

The discipline isn’t “code every day.” It’s “do appropriate work for current phase.”

  • Friday (architectural analysis) enabled Saturday (efficient execution).
  • Saturday (intensive development) enabled Sunday (strategic planning).
  • Sunday (planning + discovery) enables Monday (focused implementation).

The rhythm matters more than constant motion. Sprint → Plan → Sprint → Plan creates sustainable pace.

Sunday’s lighter workload isn’t rest. It’s strategic work that makes Monday efficient.

The archaeological discovery pattern isn’t just technique. It’s methodology evolution. From “build what’s needed” to “discover what exists, then wire it.”

From “estimate based on requirements” to “investigate first, then estimate based on reality.”

From “plan to build” to “plan to integrate.”

Sunday crystallizes the pattern that Saturday demonstrated.

← Back to BlogAlso available on Medium