A few weeks ago I talked about the Triple debt model at the University of Waterloo where Jesse Hoey saw an interesting connection from the triple debt model to Peirce’s semiotic triadic model developed in the 19th century.
In brief, semiotics is the theory of how signs produce meaning. Peirce’s model has three necessary components for understanding to occur.
- the object: the thing to be understood (e.g., the idea that one must stop at an intersection)
- the sign: a tangible representation of the idea to be understood (e.g., a red octagonal stop sign)
- and the interpretant: the meaning or understanding created in the mind of an interpreter based on their prior experience.
Peirce argued that all three parts are necessary for meaning to occur. The sign doesn’t just “point” to the object, it helps create an interpretation of the object in the mind of the interpreter, building on their existing knowledge and prior experience.
Using Peirce’s triad as a lens for the triple debt model: the software system is the object; intent artifacts are signs that communicate the system’s rationale; and understanding is constructed in the minds of developers interpreting both. When those signs are missing, outdated, or contradictory, meaning may become difficult to reconstruct. This model helped me explain (in this post about a missing stop sign) how intent debt is distinct from cognitive and technical debt, and why intent debt matters in today’s agentic development world.
Peirce argues that if any part of the semiotic triad weakens, meaning degrades. For example, if the object changes, but the signs do not, the representations are misleading. We see this often in software development that when the code changes and user needs evolve, the intent documentation or context if not updated will be misleading or incomplete. On the other hand, too many signs can also make interpretation more difficult. In a recent post, I explored how too many signs may lead to cognitive debt.
We can view Triple Debt as three different threats to meaning in software systems. Technical debt degrades the system itself, intent debt degrades the signs that communicate its rationale, and cognitive debt degrades the ability of developers and teams to construct and maintain shared understanding of the system.
Looking forward, we need to design better “signs” for both agents and humans, and we need better ways to help humans, in particular, navigate the right signs so they can construct meaning that builds on their experience and expertise. But first, we need to understand how humans and AI agents can work effectively together. What cognitive support would help developers make sense of the artifacts AI generates, decide which outputs to accept or reject, and determine whether the generated code and intent artifacts actually capture what they and their end users intended?
We have decades of research on program comprehension to build on, and we know a lot about how developers understand and navigate software. But what we don’t know is how these theories will hold up when code, specs, designs, and rationale are increasingly generated by multiple agents under human supervisory control, and when the traces developers must navigate are fragmented across tools, conversations, and time. These changes in how software is developed may fundamentally change how understanding is constructed and maintained across software teams.
More Reading
- Triple Debt paper, ACM Queue, May 2026 paper link
- Peirce’ triadic semiotic model of meaning, see this link
- The Missing Stop Sign: Why a Project May Have High Intent Debt and Low Cognitive Debt blogpost
- The Signs Are There, But We’re Still Lost: How projects can have low intent debt but high cognitive debt blogpost
- Cognitive Tours post