The own gates question me. I built them so I cannot approve a plan, or a line of code, that I do not understand. If I wrote it or the model wrote it, I still have to be able to stand behind it.
The week of March 16
The first gate was the challenge step. It pressure-tests the plan before I accept it. That is a check on the work. It does not check whether I understand the work.
The week of June 15
On June 21 I built the second gate. The working name was vet. I changed it to own while I was still designing it, because I wanted ownership, not a score on how well I had followed along.
It has two modes, the same split as the challenge. One runs before I approve a plan. One runs before a diff goes out. On a plan it quizzes me, one question at a time, and it is not allowed to answer the question for me, because answering it for me would hand me the ownership instead of making me earn it. On a diff the default is that I explain it back, cold, because a leading question is easier to fake.
The first question on a chunk of a diff is who wrote it, and if I wrote it the next question is why this way, and if the model wrote it I explain it as if I had written it. There is a stricter pass that will not clear until every gap is closed. The verdicts I kept are vetted, gaps, and not cleared. I kept those words after the rename.
I looked at about 450 reviews I had already written, and the same families kept showing up, an error that is swallowed, a missing permission check, a test that says pass, and a shortcut comment that shipped anyway. The questions are aimed at those.
Every change needs a written intent before it can be owned, and no intent is an automatic gap, and the questions and my answers are written onto the planning note for that work, not into a side file. I want the evidence next to the plan.
I made it a rule, not a suggestion, and I wrote the rule in by hand. The update script would have replaced other parts of the instructions I was not ready to lose. I did not run the gate in the session that wrote it. A fresh session was the next test.
The week of June 29
The weeks after are where I find out if I stop. Once I closed a gate by saying I own it, and no drill was run. The note says that. It does not pretend the drill cleared.
The week of August 10
On another change the plan gate cleared, and I closed the code gate by saying the changes were fine. One question had gone unanswered across three turns. The note says the drill was not finished. The plan gate had cleared. Those are two different facts, and I left both of them in the record.
The week of October 5
I started asking for a study guide instead of finishing the drill in the session. On one of them I said to give me the guide so I could move on for now. The pieces I answered with "I do not know" stayed gaps. The guide is not a verdict.
The same week I changed the gate. A study guide is written first. Then I choose. I take the questions now, or I defer them. A deferral is owed, not waived, and it is due at the end of that day, or when the session ends, whichever comes first, and a skip is a separate choice written in my words.
A finding marked Critical, or a blocking finding from the challenge, does not get a deferral and does not get a skip, and neither does work that is hard to reverse or that touches production data, money, security, or secrets. Something I have flagged as major can be deferred. It cannot be skipped. I have not written down what major means, and until I do the session says when it thinks a piece is major and asks me each time.
The deferrals and the skips go in a ledger. One row per gate. An overdue row was written to stop the next merge. On October 11 I took the drill on that rule itself, and I left the own gates out of my description of the loop, and I had the bar for a deferral wrong. The verdict was gaps. I said the text was right and I was wrong. The text stayed.
The week of October 12
I took the unfinished questions again. That pass came back vetted. In the same sitting I said an overdue gate on one project should not stop an emergency fix on another. I work a dozen sessions at a time. The live text still stopped whichever project came next. I asked for that to change. The note says the live text had not changed yet.
On October 13 I capped a run at 3 questions, with up to 3 more on a gap. I asked for that after drills of 5, 6, 8, and 17 pieces in two days. Anything those 3 questions do not ask is listed as not drilled. How a clear verdict treats that list was still a default I had not decided.
The week of October 19
On October 23 I set what a clear verdict covers when a piece is listed as not drilled. If it is routine, the gate can still clear. If it is risky, and risky means I flagged it major, or it touches security, or it starts a process or writes data, the row stays owed until that piece is drilled or I skip it in my own words. The skill text still had the older default. The ledger is where I wrote the new rule.
Where it is
A plan and a diff both stop on me, and a run asks 3 questions. The study guide comes first, and I either take the questions or I owe them by the end of the day. The record of a miss stays a miss. The skill does not yet read or write the ledger by itself, and major is still mine to define.