Wrightery
How it worksWorkbenchUse casesLibrary
How it worksWorkbenchUse casesLibrary
Wrightery

Vibe working for analysis. Your AI analyst team researches, cross-checks, and drafts from trusted sources. You review the evidence and make the final call.

Product

How it worksWorkbenchUse cases

Company

TeamBook a meeting ↗
© 2026 Wrightery.
v1.2610.260322192c31a7d8
  1. Library
  1. 1Daniel’s Journey to Build a ChatGPT Challenger
  2. 2Chapter 1 — Nine Months
  3. 3Chapter 2 — The Product in the Sales Deck
  4. 4Chapter 3 — What Are We Competing For?
  5. 5Chapter 4 — The CTO in the Code Review
  6. 6Chapter 5 — The Architecture That Grew by Accident
  7. 7Chapter 6 — The First Customer Promise
  1. Library
Chapter 5 of 7·16 min read

Chapter 4 — The CTO in the Code Review

Chapter 4 — The CTO in the Code Review
Chapter 4 — The CTO in the Code Review

“Eighty-four,” Ravi said. “And I want it reverted.”

Daniel had the pull request open on one screen and Ravi on the other, joining from a kitchen table somewhere east with a cold coffee beside him. It was twenty past seven in Vancouver. The merge was thirty-one hours old.

“Eighty-four on the Northstar set?”

“Two hundred and forty questions, same grading criteria, same corpus. We were at seventy-nine. The new retrieval stage is better than mine. I have read it twice and I would not have written it, and it is better.”

“Then say the rest.”

“The rest is that I found out from a notification. Forty-one files. Opened by Marcus. Merged by Marcus. No reviewer. It landed at one in the morning in a service my team is on call for. Mei rebased onto it yesterday and spent four hours discovering her branch had nothing left to attach to. Diego’s is three weeks old and it is now scrap.”

Daniel scrolled the file list. A new retrieval stage with a rewritten ranker and prompt builder. And the second thing, which he had been looking at for ten minutes before Ravi called: a schema change to the citation payload.

“Did he tell you he was going to?”

“He told me in the corridor on Tuesday that context assembly was the weakest part of the system.” Ravi’s voice stayed level in the particular way of a man who had rehearsed staying level. “I agreed. I said I would put a design together after the planning session. He said that sounded right. I assumed the conversation was a conversation.”

“How long would the design have taken you?”

“Ten days. Six weeks to build it with the people I have.”

“And it took him two evenings.”

“It took him two evenings with an agent, which is the part nobody here has said out loud yet.” Ravi rubbed his eyes. “I am not going to pretend he is slow. He read the eval harness, generated a retrieval implementation, iterated eleven times overnight, and landed the version that scored highest. That is a man who is now four engineers wide.”

Daniel wrote four engineers wide on the pad beside his keyboard and underlined it.

“What do you want me to do?”

“Revert it.”

“That is what I wanted to do at seven o’clock,” Daniel said. “I had the message written. I deleted it. Tell me why I was wrong.”

Ravi was quiet for a second. “Because if you revert it, you and Marcus have had an argument, and my team learns that the way to fix our service is to go to the Director. If I revert it, my team owns the service. But if I revert the CTO at eight in the morning with no cover, I am not asserting ownership. I am starting a fight I have to win publicly.”

“The ground is real,” Daniel said. “Give me four hours and it will also be visible, which is the part that matters. Do not revert anything yet. Get Hannah and Elena and Priya in a room with me at eleven.”

They used the small room again, the one with the curling sticky notes. Elena Rossi had the pull request on the display and had been reading it for twenty minutes before anyone else arrived, which was how she preferred to enter a disagreement.

Hannah Kim spoke first, and she did not sit down.

“The nightly index ran. The new retrieval stage re-chunked the demo corpus at two-fifteen. Eleven thousand four hundred documents, and it completed cleanly. Nothing is broken in the way you would notice.”

“But.”

“The citation payload used to carry a document identifier, a chunk identifier, and character offsets into the source. The offsets are gone. The new builder renders a reference string instead. It is smaller, it is cheaper, it reads better in a prompt, and I understand exactly why he did it.” She put a printed page on the table, which Hannah did only when she intended something to be looked at rather than scrolled past. “Every saved conversation from the last four months points at chunks that no longer exist. Four thousand of them. The answers still show citations. Click one and it resolves to nothing.”

Daniel looked at the page for longer than he needed to.

“Say what that is in English.”

“In English, on Tuesday this company decided that what we sell is the traceable path from a source document to a sentence. On Thursday morning we stopped being able to prove which passage supported which sentence. Not in the future tense. In the conversations we have already had.”

Priya Nair, who had not yet spoken, turned her laptop around.

“The evaluation went up,” she said. “I want to be careful about that, because it is going to get quoted. Eighty-four is real. The harness checks that an answer is correct and that a citation exists and supports it. It has never checked that the citation still resolves a month later, because until Thursday there was no way for it not to.”

“So the number that went up is not the number that broke.”

“The number that went up is not the number that broke,” Priya said. “And I would like that written on a wall somewhere, because we are going to spend the next year with numbers that go up.”

Elena had said nothing. Now she stood, went to the display, and split the file list in two with her finger.

“There are two decisions in this merge. The retrieval stage is one. It chunks on semantic boundaries instead of fixed windows, then reranks the results, and it is a good change. I would have argued about the window size in review and I would have lost and I would have been wrong. The schema change is the second, and it is not required by the first. You can have the new retrieval stage, preserve the offsets, and keep aliases for the old chunk identifiers. Forty lines and a migration.”

“Then why are they in the same merge?”

“Because one person did both in two evenings and never had to explain either to anybody.” Elena said it without heat. “That is the whole failure. The code is mostly better than what it replaced. A review is the place where two decisions get told apart. There was no review, so there was no place, so they arrived as one thing you can only accept or reject entirely.”

Hannah put the repair at two days to write the migration and one to run it. Northstar’s corpus was due the Monday after next. And Sofia’s conference demo was the citation demo—Daniel had asked her on Tuesday to put one analysis on stage and let a stranger try to break the citation.

“It is currently breakable,” Hannah said.

Marcus was in his office with the door open, which Daniel had learned meant available rather than inviting. He looked up from a terminal with three panes running and did not close it.

“You have read it,” Marcus said.

“Twice. The retrieval stage is better than what it replaced.”

“It is.”

“It is also the first thing that has moved on that service in four months, and it cannot stay in the way it arrived.” Daniel sat down without being asked. “Let me start with the part that is mine. On Tuesday you told me context assembly was written before we had tenants, and that if the strategy depended on it somebody should rebuild it properly. You were right. I said somebody would. I gave that sentence no owner and no date. That vacuum is mine. I created it, and you walked into it two days later. I would have too.”

Marcus leaned back. “Then we agree.”

“On the first half. Here is the second. The schema change broke citation resolution across eleven thousand documents and four thousand saved conversations. The strategy we agreed to on Tuesday is the traceable path from a source to a sentence, and it is currently not traceable.”

Daniel watched it land, and watched Marcus do the thing that made him worth the conversation: he pulled up the payload definition and read it, and his face changed.

“The offsets,” he said.

“The offsets.”

“I collapsed them because the model does not need them. We were spending eleven percent of the context budget carrying structure the model ignores.” He was already scrolling. “The audit record reads them.”

“So does the lineage table, and so does the export that answers question one hundred and six of Northstar’s questionnaire.”

Marcus sat with it, and to his credit did not argue. “That is a real miss. I will write the migration tonight.”

“No.”

Marcus looked up.

“That is the whole conversation, and I would rather have it now than in four months,” Daniel said. “You are the strongest single engineer in this company, and with the tools you are using you are four engineers wide on a good night. Six months ago the informal arrangement worked, because when the CTO occasionally patched something it was a patch. It is not a patch anymore. Two evenings of your time is a quarter of a team’s output landing in a service with its author as the only gate.”

“You are describing a capability as a problem.”

“I am describing it as an unpriced one. It is not free; it is invoiced to other people. Ravi found out from a notification. Mei lost half a day, Diego lost three weeks, Hannah is writing a migration for a decision she was not in the room for. The output was yours. The bill went to four people who cannot decline it.”

Marcus was quiet long enough that Daniel let the silence stay.

“So what am I allowed to do,” Marcus said, “in my own company?”

There was no edge on it. That was the thing Daniel would think about that evening: it had been asked plainly, as a genuine request for the boundary, and the plainness of it was the injury.

“Everything except land it. Prototype anywhere, in any service, at whatever speed the tools give you. Nobody restricts that and nobody should, because you demonstrated in two nights that the ranking problem was solvable. A branch with an evaluation result attached is the fastest input we have. It is a proposal.”

“And a proposal is not a decision.”

“The merge is the decision. It belongs to whoever is on call at three in the morning and has to live with it for two years. Which is Ravi, and Ravi is not a formality.”

“He would have taken six weeks.”

“Because he has four people and two of them are new, and that is a resourcing failure and it is mine. But here is what six weeks buys that two nights did not. Hannah is in it, so the offsets survive. Priya is in it, so the harness learns to check resolution. You did not skip six weeks of typing. You skipped six weeks of other people’s objections, and two of them were correct.”

Marcus turned his chair to the window. Below, the parking structure, and past it a slice of grey water.

“I built that service,” he said.

“I know. And you are the only person who can describe what it should become. I am not taking the design away from you. I am taking the merge button. Write the design, put your branch beside it and the eighty-four beside that. Ravi staffs it and owns it and argues with you about window size, and you will probably win that argument. The difference is that afterward four people know why.”

Daniel stood. “One more thing, and it is the harder one. Tell the room yourself. Not that you were wrong—say what you like about the code, and the code is good. Say that the branch was a proposal and you landed it, and that the offsets were a real miss. If I say it, you have been disciplined. If you say it, we have a standard.”

Marcus did not answer for a while. “Thursday’s engineering review. I will take ten minutes.”

Olivia caught Daniel in the corridor at four, having heard some version of it from someone.

“I am told you have put a fence around Marcus.”

“Around the merge button on four services.”

“He is the fastest person in the building.”

“He is. And on Wednesday night he broke every citation we have already issued, while the evaluation score went up. You wanted proof inside the pilot that Claire’s own team would produce. That proof is a citation Claire can click. I am not slowing him down. I am making his speed land somewhere it can be checked.”

Olivia considered it with the expression she used when she disliked being persuaded. “Put it in writing. One page. And Daniel—it applies to you as well.”

“It already does.”

The page took forty minutes and Elena took it apart twice. It did not restrict anyone by title, which had been his first draft and was wrong; it classified changes by what they crossed and what it would cost to undo them. A change to a shared contract—a schema, an interface, a tenancy rule, an audit record—required the owning manager’s acceptance, whoever wrote the code. Prototypes carried no authority at all.

Before he sent it, he asked Hannah for one number he had not wanted to ask for: how many pull requests in the last thirty days had been merged without an approving review.

The answer came back in eleven minutes.

Nineteen. Four were Marcus. The largest by a distance—two hundred and six files across the ingestion pipeline—was Mei Lin, twenty-six years old, eight months at the company, working entirely inside her own team’s boundary and entirely within the rules he had just written.

Daniel read the list twice and sent the page anyway, because it was right and because it was now clearly insufficient.

Elena found him still at the board at half past six.

“You have the look,” she said.

“How many other services are like context assembly? Load-bearing, strategic, and held in one person’s memory?”

“I will not guess,” Elena said, “because I have been here fourteen months and I have never seen a drawing of this system that included everything. Marcus has one. It is in his head and it is two years out of date, and until Thursday morning nobody could tell the difference.”

Daniel capped the marker. “Then draw it. All of it. Not a diagram for a slide. I want to know what we own, who knows it, and what happens when they leave.”

Elena was already reaching for her laptop.

“It will not be flattering,” she said.


Director’s Lens

A prototype is a proposal; a merge is a decision

Senior technologists are hired for judgment and rarely told where their judgment stops. The ambiguity is comfortable while it lasts: a CTO who occasionally fixes something is a gift, and nobody wants to write the memo that ends it.

The distinction that survives contact with reality is not between people but between acts. Exploring, building, measuring, and proposing can be kept reversible and contained. Landing a change makes it consequential for everyone downstream—on-call rotations, dependent branches, stored data, customer commitments. A senior leader should have broad access to the first set. Authority over the second belongs to whoever carries the consequence.

This is not a demotion and should not be delivered as one. A leader who prototypes freely and proposes with evidence attached is the fastest input an engineering organization has. What is reserved is not their thinking but the moment their thinking becomes everyone else’s obligation.

AI raised individual output past the boundaries the organization was built for

Most informal engineering norms were calibrated against human throughput. “Anyone can fix a small thing” assumed a small thing took an afternoon. When one person with agentic tools can produce a quarter of a team’s monthly output in two evenings, the same norm now permits organization-scale change with no organizational review.

The failure is silent because the output is usually good. A strong engineer with strong tools produces work that passes the tests, improves the metric, and reads well. It cannot contain objections that were never raised.

What a review actually produces Who supplies it What happens without it
Separation of bundled decisions Architect or reviewer Accept-or-reject-everything; good changes carry bad ones
Downstream contract knowledge Owning manager and adjacent teams Breakage in systems the author does not read
Coverage for the new failure mode Quality engineering The metric improves while an unmeasured property regresses
Operational ownership and on-call consent The team that carries the pager The author’s output becomes another team’s obligation
Shared understanding of the design Everyone present One person holds the system; the organization rents it

Speed did not remove the need for any of these. It removed the interval in which they used to happen.

Work that matters and has no owner will acquire one

Before the bypass there is almost always a vacuum. A leader names a critical piece of work, agrees it matters, and assigns it no owner and no date. The gap is filled by whoever is fastest, least blocked, and most convinced—which in a technical company is frequently the most senior technologist.

Treating the bypass as purely a discipline problem preserves the vacuum that produced it. The correction has two halves and both are required: the boundary, and the staffing decision that makes respecting the boundary possible. A manager told to own a service without the people to change it has been given accountability without capability, and the next bypass is already scheduled.

AI leverage

AI can compress the parts of governance that used to make governance expensive. It can help summarize a large diff into the decisions it contains and flag when several unrelated ones are bundled. It can help trace a schema change through dependent services, queries, exports, and stored records to surface likely breakage. It can draft the migration, generate an evaluation case for a newly discovered failure mode, and produce the written decision record from a discussion, so that the cost of documenting a choice stops being a reason to skip it.

It can also help close the gap it opened. If generation is fast and review is slow, review is the constraint; applying the same leverage to impact analysis and test generation helps keep the ratio sane. What AI cannot guarantee is that it will recognize why a field the prompt ignores is contractually essential to the audit export. The tooling inherits an organization’s understanding of what is load-bearing; it does not create it.

Human boundary

Humans must decide:

  • Who holds the authority to make a change binding for other people.
  • Whether a metric that improved is measuring the property that matters.
  • Which objections are worth the delay they cost.
  • When a bypass reveals a discipline problem and when it reveals a resourcing failure.
  • How a boundary is communicated to a senior colleague so that it constrains the act without diminishing the person.

The last is not a process question. A decision-rights document is enforced far less by its contents than by whether the most senior person subject to it defends it in public.

Reusable artifact: decision-rights record

One page per system or service boundary, written by the accountable leader with the owning manager, and reviewed whenever team boundaries or tooling capability change.

DECISION-RIGHTS RECORD

Service or boundary:
Accountable manager:
On-call owner:
Last reviewed:

1. CHANGE CLASSES
Internal change (no external contract affected):
  Decides:                  Evidence required:
Shared contract change (schema, interface, tenancy, audit, retention):
  Decides:                  Must accept:          Evidence required:
Evidence-path change (citation, lineage, traceability, approval record):
  Decides:                  Must accept:          Required check before merge:
Irreversible change (data migration, deletion, external commitment):
  Decides:                  Written record required:

2. UNRESTRICTED BY DESIGN
Activities requiring no approval and conferring no authority:
Where a prototype lives, and how it is distinguished from a decision:

3. PROPOSAL PATH
How a non-owner proposes a change to this boundary:
What must accompany it (design, evidence, measured result):
Maximum time to a decision:
Who may escalate, and to whom:

4. CAPABILITY CHECK
People able to change this system today:
Current staffing versus committed work:
Known vacuum: work agreed to matter with no owner or date:

5. REVIEW TRIGGERS
Team boundary change:
Tooling change that materially alters individual output:
Any merge landed outside this record, and what it revealed:

The record earns its place the first time a senior person is told no under it and says so out loud. Until then it describes how the organization would like to behave; afterward it describes how the organization behaves.

Your next report, with a team behind it.

Wrightery is in private build. Join the waitlist and we'll bring you in as soon as a seat opens — then describe one deliverable you already produce, and watch your AI analysts research it, cross-check it and draft it for your review.

No credit card. We'll email you the moment your seat is ready.

Rather talk it through? Book a 30-minute meeting ↗

← PreviousChapter 3 — What Are We Competing For?Next →Chapter 5 — The Architecture That Grew by Accident