I sat with the repo open for a long time. Unmanned myWiki was running. My hands still would not move. I could not see where to start. The mountain I had written about in I only saw the mountain of fixes after shipping unmanned was still right in front of me.
I almost gave up. Maybe rebuilding from scratch would be faster. The code was already large, requirements had shifted midstream, and even a one-line fix looked like reloading the whole context. Still, on 2026-07-13 I opened a Grok session and wrote this:
「너와 같이 지금까지 내가 무인수행한 이 myWiki를 고치려고해. 포기할까도 햇지만 너랑 같이하면 할수있을거 같아 시작해. 일단 요구사항부터~~~~」
That was the day I chose repair over rebuild. The first line already had a direction. Not features. Requirements first.
Spine first, not features
I said it again right away. Requirements first. I wanted second’s collect · refine · classify · summarize loop as-is. 「다 세컨드 기준으로 해주고」.
I did not want skill files copied in, or a one-shot ops bundle from the terminal (Brew) bolted into the app. I wanted the contract second already ran. Gather source text (collect), filter noise (refine), put it on a shelf (classify), and leave it organized (summarize). Put that loop as the spine of the product requirements. We had once said “don’t port skills; cover it with app features,” and left a lower layer half-aligned. This was about aligning that layer to second before shipping more screens.
Grok put second and myWiki side by side and wrote up the gaps in a table. Collection of source inputs (raw) existed, but the refine step that filters noise (scrub) was weak. Classify-side map rules were blurrier than second. A summarize · organize pipeline existed, but linking documents, seating them in bins, and full re-runs were shallow. Query still did not go wiki → classify map → narrow the path → source text. Names looked similar. The spine was not planted. “It organizes, but it doesn’t feel like a wiki” landed because of that.
I agreed to follow second on most of it. Classify structure needed a separate talk. Should spaces grow dynamically as the base? If a space is not a fixed lens but a bin I manage, then AI growing the inner map from that bin felt natural. Like second: a source layer and a wiki layer, with the map pointing at bodies by path. The default space would not be hidden either. Same rank as any other space bin.
When the design clicked I wrote: 「휼륭 하다 그럼 자연스럽게 인덱스와 위키가 만들어지고 그걸 자연스럽게 활용하면 될거같애」. Even global questions still had a space as the starting point. People only hold the big bins. Organize handles the inner detail. How the knowledge loop should work locked that day.
What showed up as soon as I used it
I did not leave requirements as talk. Same day I threw real friction at it. Awkward classify and tag layout on screen. And the bigger one: digest.
「소화가 너무 1:1인데 통합되어야할거같은데」
「소화할때 바로 편집하는게 아니고 종합해서 편집해야할거같은데 ? 인덱스도 활용해야할거같고 병합도 해야할거 같고 중복내용이 너무 많은거 같애」
Those are the raw lines. Rough speech, concrete ask. One source in, one doc out or created, the classify map treated like a later tool, similar notes stacked as many pages. I wanted synthesis, merge, and map-first placement. Not “make quality better.” I was pointing at the intake split I hated.
That was my call. Opening the code together confirmed the cause. Right after the intake decision, it wrote the body immediately, so things already split 1:1. The map felt bolted on after. Merge was closer to a manual later pass. The fix I wanted was short. Read the classify map first, decide placement and merge, then do one synthesis edit of the body. Create a new doc only for a truly new branch. Same topic: attach and merge.
That is where hope showed up. No other reason. If I passed a concrete, precise requirement, it followed immediately. I said I hated 1:1 and needed synthesis · classify · merge, and it walked down to pipeline steps. “I can do this” came from that instant response. The mountain did not vanish, but the first face to cut was clear. Not handing the whole mountain to the agent. Naming the face in sentences and cutting that face together.
After we set the cut order
Before piling more features, we ran a pre-cleanup codebase health review. Not a PR diff. Closer to a full pass over src/: bugs, security, layer drift, queue zombies, hot paths, as an issue list. The goal was not “fix everything wrong.” It was a priority roadmap first. A ritual: hold the cut order before stacking more implementation.
Standing in front of an unmanned mountain, hands freeze for two reasons. Product what-to-do (requirements) is blurry. Code where-it-hurts (health) is invisible. That day I started touching both by hand. second mechanism into the requirements spine. Digest 1:1 fixed in words. Cut order received as an issue list.
Choosing not to rebuild sat in the same frame. There was already a chunk that had gone as far as source · wiki files. Not throwaway. Re-seat the contract and fix intake. Hope was not “a perfect plan appeared.” It was the experience that when I pass a concrete ask, the agent keeps pace.
Starting again from here
So the day is closer to a restart ritual. Between give-up and not, I reopened with Grok from the requirements. I did not transplant skills. I moved collect · refine · classify · summarize into product sentences, said the 1:1 digest pain out loud, and after a little use saw that concrete requirements got handled turn by turn.
The mountain is still there. Storage layout, where cost leaks, how classify attaches to chat. Those chapters were not open yet. Next posts cut those. What this post keeps is one line. Facing the unmanned mountain I chose repair over rebuild, and the first move was standing requirements up as the spine again.