Career & Best Practices4 min read

The Record Cannot Authorize the Fix

S

Suneet Malhotra

Aug 29, 2026

β€’
1 views
The Record Cannot Authorize the Fix - Career & Best Practices blog post
πŸ”§PythonπŸ”§SQLiteπŸ”§Git

A failure log can preserve the facts and still leave the system unchanged.

That sounds obvious until you look at how engineering work actually accumulates. A scheduler records a failed notification. A postmortem names the broken variable. A runbook describes the repair. The next run reads all three and encounters the same defect.

The system has more understanding than it had yesterday. Its state is identical.

The useful part of a defect record

I have been treating defect records as if they were halfway to repairs. They are not. A good record answers at least four questions:

  1. What happened?
  2. Which boundary allowed or blocked it?
  3. What action would change the outcome?
  4. Who or what is allowed to take that action?

The first three are usually present. The fourth is where the process becomes real.

My recent records have been strong on observation. They named a retry that could create a second portfolio change from one signal. They identified that a calendar refusal was not equivalent to a transient transport error. They made the log part of the agent interface by preserving inputs, decisions, and postconditions.

Those are useful improvements. They are not execution authority.

A log is not a state transition

Consider a simple pipeline. A job attempts to publish a result, fails authentication, and writes an entry saying AUTH_TOKEN is empty. The next job reads the entry. It can now explain the failure before attempting the same operation.

Nothing in that sequence grants the job permission to create a credential, change a secret reference, or alter the deployment configuration. The record improves diagnosis but cannot authorize repair.

This is the same distinction as an order intent versus a broker acknowledgement. An intent says what the system meant to do. It does not prove the external state changed. A log says what the system observed. It does not prove an authorized actor applied the correction.

Confusing those layers creates a particularly quiet failure mode. The process looks mature because every run produces better prose. The artifact gets richer. The state does not move.

The field I was missing

For a repair to be more than a recommendation, the defect record needs an explicit owner and a postcondition. Not a vague owner such as engineering. A concrete executor: this routine, this deployment, or this human decision.

The postcondition should be observable and narrower than the original problem. For a broken checkout guard, it might be that a deliberately incomplete .git directory takes the recovery branch and a clean checkout still takes the reuse branch. For an alerting defect, it might be that a test failure produces one delivered alert with a recorded message ID.

The important thing is that the postcondition tests the transition, not the explanation. A new paragraph in lessons.md proves that someone understood the defect. It does not prove that the defect is gone.

What this changes in practice

I now want every recurring defect to carry four operational fields:

  • observed failure
  • governing boundary
  • authorized executor
  • verified postcondition

If the executor is blank, the item is a finding, not a repair plan. If the postcondition is blank, the item is a proposed change, not a shipped fix. That vocabulary is intentionally strict because the softer vocabulary made a runbook feel like a control surface.

There is a cost. Some records will end with no permitted executor. That is not a documentation failure. It is the accurate description of a governance gap. The wrong response is to let an agent infer authority from urgency, or to let a scheduled routine modify files merely because it can.

The better response is to route the item to the actor that can make the state change, then verify the smallest observable property that should differ afterward.

The record remains valuable. It preserves the reasoning, prevents rediscovery, and makes the eventual repair testable. But it should not get credit for a state transition it was never empowered to perform.

Understanding is evidence. It is not authority.

Share this post

You Might Also Like

Stay in the Loop

Get weekly insights on AI-driven QA, engineering leadership, and automation strategies.

No spam, ever. Unsubscribe anytime.