The Next Action Is a Form of Infrastructure
Hatched by Nico Kokonas
Aug 21, 2026
11 min read
2 views
82%
What if the secret to both reliable software and consistent learning is the same humble design decision: making the next step unambiguous?
A module resolver appears to solve a narrow technical problem. Given a package name, a directory, a configuration, and a network of dependencies, it determines which file should be loaded. A well designed training or learning application appears to solve a personal problem. Given a goal, it determines what a person should do next, then presents that action in chronological order and with enough detail to eliminate guesswork.
These seem like unrelated forms of intelligence. One navigates code. The other navigates a human schedule. Yet they share a deeper function: they convert a complicated possibility space into a trustworthy sequence of next actions.
That conversion is more important than it first appears. Most failures in complex systems do not occur because the destination is unknown. They occur because too many intermediate decisions are left unresolved. The user, developer, or learner must repeatedly stop and ask: Which file? Which version? Which exercise? How hard? What now?
The central thesis is simple:
The best systems do not merely provide information or goals. They resolve ambiguity at the moment action is required.
This idea offers a useful way to think about tools, education, productivity, and even organizational design.
Complexity Is Often a Failure of Resolution
Consider a software project with hundreds of packages. A developer writes an import statement that looks simple: load a library called parser. But that name does not uniquely identify an object. The system may need to inspect package manifests, search paths, aliases, file extensions, platform conditions, nested dependencies, workspace boundaries, and special package management rules.
The visible request is tiny. The hidden decision tree is enormous.
A resolver exists to absorb that decision tree. It follows rules consistently, selects the correct target, and returns a concrete location. The developer gets to work with a stable abstraction: ask for a package, receive the module that the project means. Without resolution, every import would become a miniature investigation.
Human learning has the same structure. “Get better at mathematics” is a goal, not a plan. Even “study algebra for an hour” leaves a learner with a large unresolved space. Which topic? Which examples? Should the learner review an error, attempt a new problem, read an explanation, or take a test? What level of difficulty is appropriate?
The burden of answering those questions can quietly consume the energy intended for the work itself. This is why a training application that says exactly what to do, in chronological order and with considerable detail, can feel unusually powerful. It does not just offer content. It performs cognitive resolution.
In both cases, the system is valuable because it hides complexity without denying it. The complexity still exists. It has simply been handled by a mechanism designed to handle it.
This gives us a useful distinction:
- Information expands the set of things you could do.
- Resolution identifies the thing you should do now.
- Execution turns that decision into progress.
Many products are excellent at the first category and weak at the second. They provide libraries, dashboards, search results, courses, recommendations, and databases. They make possibility abundant. But abundance without resolution often feels like freedom at first and friction later.
The Hidden Tax of Choosing What Comes Next
Every unresolved decision imposes a small cost. The cost may be measured in seconds, but it also includes context switching, uncertainty, self doubt, and the temptation to choose the easiest available option.
Suppose a learner opens a platform with ten courses, hundreds of lessons, and an intelligent recommendation engine. The platform may contain everything needed for improvement, yet the learner still has to determine the sequence. If the learner spends five minutes selecting a task before every session, that is not merely five minutes lost. It is five minutes spent reopening the question of whether the entire project is correctly designed.
The same pattern appears in engineering. A package system that requires developers to understand several competing lookup rules before an import works is not just inconvenient. It transfers infrastructure complexity into every local decision. A robust resolver centralizes that complexity, so the developer can reason at the level of intent rather than implementation detail.
This is the decision surface area of a system: the number of choices a person must make to move from intention to action.
A high decision surface makes simple goals feel difficult. A low decision surface makes disciplined behavior easier to repeat. This does not mean every choice should be removed. It means choices should appear where they add value, not where the system has failed to settle its own internal logic.
There is a crucial difference between autonomy and abandonment. Autonomy means a person can meaningfully choose among paths when choice matters. Abandonment means the person is handed a maze and told that navigating it is part of the experience.
A good resolver does not ask a developer to manually inspect every dependency. A good learning system does not ask a learner to design a curriculum from raw materials every morning. Both preserve the possibility of intervention while providing a default path that is specific enough to begin immediately.
Freedom is not the absence of structure. Often, freedom is having enough structure that your attention can reach the thing you actually care about.
Chronology Is More Than Convenience
A detailed sequence does something that a static collection of resources cannot. It creates a temporal model of progress.
Imagine receiving a box containing a bicycle, a repair manual, a map, and a set of race results. You possess useful information, but none of it tells you what to do first. Now imagine a coach placing one instruction in front of you each morning: adjust the seat, ride for twenty minutes, practice a specific turn, then review one measurable result. The second arrangement may contain less information, but it is far more executable.
Chronology reduces what might be called procedural entropy. At the start of a complex project, many sequences are theoretically possible. Some are efficient, some redundant, and some actively harmful. A sequence narrows those possibilities into an order that reflects dependencies.
Software resolution is fundamentally chronological in this sense, even when the user experiences it as instantaneous. Before a module can load, the system must establish where it lives, which package rules apply, and which dependencies are valid. The resolver encodes an order of inquiry. It prevents each developer from reconstructing that order by hand.
Learning sequences work similarly. A concept may depend on another concept. A skill may require a particular kind of fluency before it becomes useful. A practice problem may be valuable only after an explanation, or an explanation may be memorable only after a failed attempt. The order is not cosmetic. It changes the result.
This suggests that good plans should not be judged only by their contents. They should be judged by their dependency structure.
A strong sequence answers four questions:
- What must be understood or completed before this step?
- What is the smallest action that creates useful evidence?
- What result determines the next branch?
- When should the system revise the plan?
The fourth question matters most. A rigid sequence can be as unhelpful as no sequence at all. A resolver must account for changing environments, package conditions, and project boundaries. A learning plan must account for performance, fatigue, mistaken assumptions, and unexpected speed.
The ideal is not a fixed script. It is a conditional path: specific enough to remove hesitation, adaptive enough to respond to reality.
The Interface Between Intention and Action
We often assume that motivation is the primary bottleneck in achievement. Sometimes it is. But many people do not fail because they lack desire. They fail because the distance between desire and action contains too many unspecified steps.
“I want to learn statistics” is an intention. “Open the lesson on sampling distributions, complete problems one through five without notes, record the first error, and review the explanation only after attempting the problem” is an action interface.
The second statement is powerful because it defines the transition from thought to behavior. It specifies the object, the sequence, the boundary, and the feedback mechanism. It does not require the learner to negotiate with an abstract ambition.
The same principle can improve teams. A project plan that lists goals such as “improve reliability” or “modernize the build system” may be directionally correct but operationally weak. A better plan identifies the next observable action, the dependency it addresses, and the evidence that will determine what follows.
This is why technical infrastructure can influence human performance more than expected. When tools reliably resolve paths, versions, and dependencies, they protect attention. When educational tools reliably resolve lessons, practice, and review, they protect momentum. In each case, the system becomes a kind of external working memory.
External working memory has two jobs:
- It remembers what has already been established.
- It presents the next unresolved question in a usable form.
Most productivity systems perform the first job and neglect the second. They store tasks, notes, bookmarks, and aspirations. But an archive is not a guide. The real test is whether a person can open the system and know what to do without reconstructing the project from scattered clues.
A useful design principle follows: store decisions, not just materials. Instead of saving ten articles about a topic, save the selected article, the reason it is next, and the condition under which it should be replaced. Instead of listing every possible engineering task, define the next diagnostic action and the signal that will guide the next decision.
Designing Systems That Tell the Truth About Progress
There is a danger in detailed guidance. A system can become so prescriptive that users follow instructions without understanding the purpose. The answer is not to return to vagueness. It is to pair procedural clarity with visible feedback.
A trustworthy sequence should make progress legible. In learning, this may mean showing which kinds of errors are declining, not merely how many lessons have been completed. In software, it may mean exposing why a particular dependency was selected, not merely reporting that resolution succeeded.
Transparency is especially important when the system makes a surprising decision. If a resolver selects a package from an unexpected location, a developer needs a traceable explanation. If a learning program assigns an easier review after a strong performance, the learner needs to understand that the review is reinforcing a prerequisite rather than wasting time.
The strongest systems therefore combine three layers:
- A default path, which makes beginning easy.
- A feedback loop, which tests whether the path is working.
- An explanation layer, which preserves understanding and trust.
This architecture balances convenience and agency. The default path prevents paralysis. Feedback prevents blind repetition. Explanation prevents dependence on an opaque authority.
It also changes how we should think about personalization. Personalization is not merely presenting different content to different people. It is resolving the next decision differently based on evidence. A system becomes genuinely adaptive when it can say, in effect, “Given what just happened, this is the most useful next action.”
That is a much more demanding standard than offering recommendations. Recommendations create options. Adaptive systems manage sequence.
Key Takeaways
- Measure decision surface area. For any recurring goal, count how many choices must be made before work begins. Remove choices that do not create meaningful value.
- Turn intentions into action interfaces. Define the exact object, duration, sequence, and completion signal for the next task.
- Design around dependencies. Ask what must be established before a step can produce useful results. Sequence work according to those prerequisites.
- Use conditional plans. Specify what happens next under likely outcomes, such as success, confusion, or failure. This preserves structure without creating rigidity.
- Make decisions explainable. A system should show not only what it selected, but enough of why, so users can correct it and learn from it.
The practical test is immediate. Take one project you repeatedly postpone. Write down the next action so precisely that another person could perform it without asking a question. Then define the evidence that will determine the action after that. You have not completed the project, but you have begun building the infrastructure that makes completion more likely.
The Real Product Is Not the Content
A resolver is easy to underestimate because its output is so modest: a path. Yet that path allows an entire software system to function without every participant constantly investigating the structure beneath it.
A guided learning application is easy to underestimate for the same reason. Its output may be one exercise, one review, or one instruction. Yet that small decision can determine whether a person spends the next hour practicing or wandering through possibilities.
The deeper lesson is that effective systems are not defined only by what they contain. They are defined by how reliably they transform complexity into motion.
We tend to praise tools for their databases, features, intelligence, and flexibility. But the most valuable question may be simpler: When I arrive with a legitimate intention, does this system help me take the right next step?
The future of useful software, education, and productivity will not belong exclusively to systems that know the most. It will belong to systems that can resolve what matters now, expose enough of their reasoning to remain trustworthy, and adapt when reality disagrees.
A path is not a restriction when it is well designed. It is a promise that someone, or something, has already carried the uncertainty far enough for you to begin.
Sources
Hatch New Ideas with Glasp AI 🐣
Glasp AI allows you to hatch new ideas based on your curated content. Let's curate and create with Glasp AI :)
Start Hatching 🐣