burdgen ai
The power of Deliberation

Complexity should
be a choice.

An agent can add another abstraction in seconds. Understanding why it belongs takes more work.

Deliberation gives that work a place. Name the problem, examine the alternatives, and explain the consequences before a promising idea becomes another dependency you have to maintain.

A developing part of Burdgen's Laravel-first planning and review workflow.

A choice worth examiningIllustrative Deliberation
Laravel / Background work

Whether this belongs in a queue

A slower request is the symptom. A queue is one possible response.

What we need to understand
Does the user need the result immediately? Which operation takes the time, and how do we know?
Alternatives
Reduce the work, improve the query, or move suitable work to a background job.
Complexity we would accept
A worker, retries, duplicate-delivery handling, and a way to show progress or failure.
Evidence before deciding
Measure the slow operation. Define acceptable waiting time and what should happen when the job fails.
What a Deliberation object means

Give the reasoning
its own record.

A Deliberation is a resumable conversation around a governing question, with one or more choices to work through.

It connects participant responses and positions with the options, criteria, arguments, and evidence being considered. A thread can produce several decisions as its questions become clearer.

The object keeps the discussion connected to its decisions. Return to who proposed an option, what counted in its favor, why another was rejected, and which evidence mattered at that point.

The question and its context

What are we deciding? Why now? Which behavior, constraint, or piece of evidence makes the question worth asking?

Knowledge and uncertainty

Separate an observed fact from an assumption. Record what you need to inspect, test, or learn before the choice is responsible.

Alternatives and consequences

Include the simpler option and the option to leave things alone. Describe the dependencies, failure modes, and maintenance each approach introduces.

A conclusion you can explain

Keep each decision version with its rationale and the evidence that contributed to it. Reconsidering, rejecting, or replacing a choice should preserve the earlier position and explain what changed.

The conversation is part of the object

Keep the discussion.
Resume the thinking.

One question can lead to several choices. The conversation reveals which ones need an answer, whose concerns they address, and what you still need to learn.

The intended Deliberation workflow preserves responses, positions, and ordered choices. Revisions and branches let you explore a different approach without erasing the route you took before.

Citations connect an assessment or decision version to the particular message, document, or code that informed it. You can ask what was known when the decision was made.

Working through the queue questionIllustrative conversation
  1. Developer

    The checkout is slow. Should we queue the whole operation?

  2. Agent

    Which result does the customer need immediately? Saving the order and sending the receipt may need different treatment.

  3. Developer

    The order must be saved before we confirm it. The receipt can arrive later. What happens if the email job runs twice?

  4. Next question

    How will we prevent a retry from sending duplicate receipts? Inspect that behavior before choosing the job design.

Introducing deliberate complexity

Some complexity earns its place.

A queue, a new package, or a provider interface can solve a real problem. Deliberate complexity means choosing that cost because you understand the problem it solves and the obligations it creates.

Name the problem it solves now.

Point to the actual behavior or boundary. A possible future requirement is a reason to think, not sufficient reason to build infrastructure today.

Compare it with the simpler option.

Could a direct implementation do the job? What becomes clearer through the abstraction, and what becomes harder to follow?

Understand what you will own.

Extra configuration, new dependencies, recovery behavior, tests, and documentation all need attention. They remain after the first implementation works.

Know when to reconsider.

Record the assumptions that justify the design. A useful boundary today may become unnecessary when the surrounding system changes.

Understanding is part of the work

If you cannot explain the cost,
keep asking.

You do not need to know everything before you begin. You do need to know which gaps matter to the decision.

Explore architecture conversations

In the queue example, the unfamiliar concept might be idempotency. Learn why a job can run more than once, what a repeated operation would do, and how your application should handle it.

That turns learning into part of the decision. You can ask about the pattern, inspect the relevant Laravel code, and work through a failure case before accepting the design.

An explanation from a model is a starting point. Follow it back to the source, test the behavior, and record what you found. Confidence is easier to justify when you can show the evidence.

The goal is to leave the Deliberation with a better decision and a better understanding of the system you are responsible for.

From Deliberation to a personal manifesto

Commit Your Philosophy, Not Just Your Code.

Your decisions can teach you something about your own preferences.

Across projects, you start to recognize the approaches you trust, the complexity you avoid, and the compromises you are prepared to make. Build that understanding into a preference profile.

Then curate a manifesto of the opinions you want to guide your work. Keep the reasoning, configure which principles apply to each project, and make room for an exception without abandoning the principle.

Make the tradeoffs visible in the profile. Each becomes an atomic, customizable choice: what you gain, what you accept in return, and where it applies. Revisit one choice when new evidence arrives without silently changing the rest of your preferences.

This profile and manifesto workflow is in development. Existing decisions and versioned project instructions are its starting point.

  1. Discover the preference

    Look at the choices a Deliberation brings into focus. Is this an approach you generally prefer, or a response to this project's circumstances?

  2. Choose the opinion to keep

    Curate it into your manifesto with a rationale, relevant evidence, and a clear scope. An opinion becomes guidance because you chose it.

  3. Apply it across projects

    Configure the relevant principles for the next plan. Keep project-specific constraints and exceptions alongside them so the intended behavior is clear.

  4. Review and revise

    Let the outcome challenge the opinion. Reopen the discussion, revise your position, and preserve why your thinking changed.

Build with understanding

Implementation is Disposable. Understanding Isn't.

Join the interest list for Burdgen. Help shape a workflow where your reasoning gets as much care as your code.

Join the interest list