← Back to list

Software Has Technical Debt. But It Also Has Decision Debt.

We talk constantly about technical debt.

EvanLin2026 · 2026-08-14 14:10 · 0 claps · 1.8 min read
#ai #github #llm #project-intelligence #mcp-server
Open on Medium ↗
Wiki topics: LLM · Large Language Models AGT · AI Agents AI · AI · General 🔓 · Open Source

Software Has Technical Debt. But It Also Has Decision Debt.

We talk constantly about technical debt.

Bad abstractions.

Old dependencies.

Duplicated code.

Temporary workarounds that became permanent.

But there is another kind of debt that receives far less attention:

Decision debt.

A project makes a decision.

The decision is reasonable.

The project evolves.

The assumptions behind the decision change.

But nobody revisits it.

The decision survives.

The reason disappears.

And eventually, the team is maintaining something nobody can fully explain.

Every architecture has a hidden timeline

Imagine an authentication system.

At some point, the team decides:

Use JWT.

There was a reason.

Maybe the system needed stateless authentication.

Maybe multiple services needed to verify tokens.

Maybe the team wanted to avoid session storage.

That reason matters.

But six months later, the architecture changes.

Perhaps the system becomes a single application.

Perhaps the authentication requirements change.

Perhaps the original constraint disappears.

Now the question isn’t:

“Why did we choose JWT?”

The more important question is:

“Does the original reason still exist?”

This is where project intelligence becomes interesting

Traditional documentation tends to describe the current state.

Git describes changes.

But neither necessarily provides a structured lifecycle for engineering decisions.

Contorium takes a different approach.

A decision can be represented together with its:

  • reasoning
    • assumptions
    • impact
    • validity
    • related project changes

The result is closer to a living knowledge graph than a static document. (Contorium)

. DECISION

. │

. WHY?

. │

. ASSUMPTION

. │

. ┌────────┴────────┐

. ↓. ↓

. Project Change. New Evidence

. │. │

. └────────┬────────┘

. ↓

. IMPACT

. ↓

. REVIEW

The important part is the final step.

Review.

A decision shouldn’t necessarily live forever.

AI can become the reviewer of project reasoning

This creates an interesting role for AI.

Instead of only asking an AI agent to modify code, we can ask:

Which architectural decisions may no longer be valid?

Or:

Which assumptions have changed?

Or:

What should the team review before making this change?

That moves AI from code generation toward engineering reasoning.

And that may be one of the more important transitions in AI-native development.

Projects should be able to question themselves

A mature software project should not merely remember:

“We decided X.”

It should eventually be able to ask:

“Why did we decide X?”

“What assumption supported X?”

“What changed since then?”

“Is X still valid?”

That is the kind of persistent project understanding Contorium is building toward with its Project Intelligence Layer. (Contorium)

The future of AI-assisted development may not simply be about generating more code.

It may be about making software projects capable of remembering, reasoning about, and revisiting their own decisions.

Git remembers the history of code.

Contorium is exploring the history of why the code became what it is.

AI #SoftwareEngineering #AIAgents #DeveloperTools #OpenSource #MCP

https://www.contorium.dev/

https://github.com/ContoriumLabs/contorium


메타데이터
post_id
047f1fef6206
slug
software-has-technical-debt-but-it-also-has-decision-debt-047f1fef6206
url
https://medium.com/@liweishuoisfrankleeeeeee/software-has-technical-debt-but-it-also-has-decision-debt-047f1fef6206
canonical_url
https://medium.com/@liweishuoisfrankleeeeeee/software-has-technical-debt-but-it-also-has-decision-debt-047f1fef6206
author_url
https://medium.com/@liweishuoisfrankleeeeeee
status
ok
fetched_at
2026-08-24 12:21:58