Thoughtware

Open, closed, and closing

Two questions, asked before a model is chosen, place a decision in the one home where it can be made reliably: deterministic code, a named cognitive unit, or a person with the authority to settle it.

12 min read

Cover for Open, closed, and closing

A team is scoping the household dinner planner. Someone asks whether Tuesday's traybake is realistic on a busy evening, and the answer feels obvious in the room. Of course a language model can judge that, so a prompt ships, the demo works, and the question never comes up again.

Six weeks later the same week produces a different answer on every run, the confirmed cashew allergy is being checked by the same prompt bundle that judges practicality, and nobody can say who owned the result when a plan fails. None of that is a model failure. All three symptoms trace to one omission, which is that nobody asked what kind of decision they were building.

Two questions answer that, cheaply enough to run on a whiteboard before any tooling is chosen. What they produce is not a difficulty rating but an address: the decision belongs with deterministic code, with a named cognitive unit, or with a person who has the standing to settle it. Most of what gets diagnosed as weak model performance is a decision sitting in the wrong one of those three places.

Helpful context: What is judgment and software executes and judgment does not establish the interpretive layer this page sorts against. Where rules stop working supplies the warning signs that show up in existing code before anyone runs a formal sort. This page owns the sort itself.

What the two questions deliberately ignore

Neither question asks how hard the work is, and keeping that separate is the first thing to get right. Closed does not mean simple. Portion arithmetic across four people, substitutions, converted measures, and declared rounding rules is genuinely tedious work, and it stays closed the whole way down because the inputs settle the answer. Open does not mean hard, either. Whether Wednesday's plan reads as dull is trivial to argue about over dinner and has no stable rule behind it, so it stays open however easy it feels.

Closed means only that a decision is specifiable. Open means only that it is not. Difficulty is a separate axis entirely.

The cognitive unit · Ch. 5

Difficulty matters, and it belongs to a different conversation than placement, which is why a team can move from calling a decision demanding to calling it a job for a model without noticing that it changed axis.

Teams who skip the sort rarely proceed with no test at all, because they substitute a third question by accident: whether the model can do this. It almost always can, which is exactly why the answer carries no information. A model asked to total ingredient quantities across seven meals will get it right almost always where code gets it right always, so capability establishes that the work is possible and settles nothing about where it should live.

Both questions are therefore about the decision rather than the implementation. That is what makes the sort available before anything is built, and it is also why its answer does not change when a vendor ships new weights.

The first question: would competent people agree

Ask it precisely, because the loose version returns agreement where there is none. Not two people picked at random and not two people holding different amounts of context. Two people who know the domain, looking at the same material, deciding independently. A household conversation that converges because one member deferred to another has produced consensus without establishing that the decision has an answer.

Agreement means the decision is determinate, and that is a property of the material rather than of your team or your codebase. It will read the same in five years. If two household members genuinely differ on whether the same protein twice in a week counts as repetition, they will still differ once the system is mature, because the disagreement belongs to the question and not to anybody's tooling.

Disagreement then needs one further distinction, because two unlike situations produce it. Household members may differ about something that has an answer which is genuinely hard to see, in which case there is a fact of the matter and finding it is exactly the work cognition exists for. Or they may differ because nothing in the world settles it and the household has simply never decided. The second case looks like the first and is not, and confusing them is the most expensive error available in the sort, because a fluent answer to a question nobody has decided is a policy the system set on its own authority.

The second question: could the rule be written down

The bar is deliberately high: not approximately, and not as a heuristic carrying a list of exceptions, but precisely enough that something with no understanding of the rule could execute it and reach the same result. Anything short of that produces the branch chain that gains a clause every month without ever converging, which is the failure where rules stop working traces in detail.

Agreement without writability is common, and it is not a defect. Household members will agree that a thirty-minute traybake is wrong for a Tuesday when two other evenings are already committed, and not one of them can say what rule produced the answer. That is a rule which has not been extracted yet rather than a rule which does not exist, and extraction becomes possible once enough weeks have gone past to make the pattern in them visible.

So one axis holds still and the other travels. Agreement is a fact about the material, and writability is a fact about knowledge, which accumulates and does not spontaneously decrease. The sort is therefore a reading taken on a date rather than a label printed on a slide, and how decisions close follows what happens as the second answer changes.

Four kinds, and three homes

The two answers combine into four kinds. Three homes exist for them, which is the part teams find surprising, because one of the four does not belong inside the system at all.

KindWhat the questions returnCorrect home
ClosedThey agree, and the rule can be writtenDeterministic code
ClosingThey agree, and the rule cannot be written yetA named cognitive unit now, code later
Open factualThey disagree, and there is a fact of the matterA named cognitive unit with evaluation
Open preferentialThey disagree, and there is no fact of the matterWhoever holds authority to settle it

Open factual is where most of the interesting decisions in most systems live, and closing is the only one of the four a system can be expected to leave. That makes closing a state to plan for rather than tolerate: a named cognitive unit does the work while evaluation and repetition accumulate the evidence a rule can later be read out of, and nothing about that arrangement is provisional in a way that should embarrass anyone.

The fourth kind is the one that leaves the system. Where there is no fact of the matter, no amount of cognition supplies the answer, because the answer is a policy somebody with standing has to set. Until they do, the honest behaviour is to surface the disagreement rather than resolve it, which in the Meal Companion is the job of AskTargetedQuestion, the smallest question whose answer changes the plan. Contested decisions develops what the system owes a household while the policy is still unsettled.

What this looks like in practice

Three rows of the Weekly Meal Companion terrain table return three different answers, and all three arrive inside the same household request.

Identifying confirmed allergies returns yes to both questions. Two competent household members agree that Leena has a confirmed cashew allergy, and once that fact is endorsed the rule fits in a sentence. The work is closed, so it belongs in deterministic validation running before any candidate plan is shown. The reason it so often does not is that the check arrived in the same sentence as something which genuinely required judgment, and closed decisions belong in code picks up the closed case from here.

Deciding whether a meal fits a busy evening returns yes then no. Household members agree in practice, and nobody can write the rule, because active effort, what else the week contains, and what busy means this particular Tuesday all move the answer. That is closing territory, so AssessMealPracticality owns the judgment now and carries a suite. The twenty-five-minute active-effort budget inside that judgment is the part likeliest to close first, once enough household corrections have made the threshold legible.

Purchasing the groceries inverts the pattern and catches teams out. The action is exact, so it presents as closed, and the decision behind it is whether the system may spend the household's money, which is not a question about the world at all. Nobody delegated it, so a human approves and deterministic execution follows. A capable system that completes the purchase because it was confident about the list has automated a policy nobody granted.

Notice what stopped the third row. It was not the kind of decision but the authority to make it, and authority depends on the ground around a decision rather than on its classification: how often cases like it recur, how badly a wrong answer hurts, how easily it can be undone. Judgment terrain supplies those factors, and the sort deliberately does not, because a decision can be perfectly closed and still be one a household wants to approve.

What to do next

Run the questions on decisions the product already makes, because the useful output is a disagreement rather than a classification. A check the team describes as judgment that returns yes to both questions is closed work sitting in a prompt and paying for variance on a settled fact. A branch chain that returns no to the second question is a judgment nobody has named, which is why its failures have no address. Neither is visible from the feature description, and both are visible within a minute of asking.

The more valuable case is a link where the room cannot agree which of the four kinds it is. That is usually a sign the sentence describing it holds more than one decision, and until somebody cuts it apart the consequence has no owner. Continue with closed decisions belong in code when the sort returns closed, and most decisions are several decisions when one request returns three answers at once.

Read next: Closed decisions belong in code.