Lorixen.
EN

A Bounded Operator Override That Keeps the Original Failure in View

Sometimes an operator must proceed despite a failed check, for example to release an order whose validation failed because of a temporary data problem. The risk is that the override replaces the failure, so later nobody knows it happened. This article proposes a conditional design for an override that stays bounded and visible. It is a recommendation, not a description of an existing product.

The primary artifact: override reason and expiry record

An override is a separate record that points at the failure. It never edits or deletes the failure. Fields:

  • override_id
  • failure_ref: the identifier of the original failure, which stays unchanged
  • failure_summary: copied at creation time for readability
  • scope: exactly what is bypassed, for one item or one check only
  • operator: who created it
  • reason: required free text, with a minimum length so that it cannot be blank
  • created_at
  • expires_at: required, and not later than a maximum you set in advance
  • status: active, expired, revoked, or consumed
  • consumed_at: set when the bypass was used

The item continues to display the original failure with an override marker beside it. The marker never replaces the failure text.

Decision branches

  1. The failure is of a kind your team has decided can be overridden, and a reason and expiry are supplied: create the record.
  2. The failure is of a kind that cannot be overridden: refuse and show why. Examples are a failed check that protects other records.
  3. The override covers more than one item or more than one check: reject it and require one record per item and check, or an explicitly approved batch scope with a stated count.
  4. The expiry is missing, in the past, or beyond the maximum: reject it.
  5. The override is used or the expiry passes: change the status. An expired override gives no further bypass, and the original failure is again the active condition.

Worked hypothetical example

Three orders fail a address-format check. Order 1 is overridable and the operator sets a 24 hour expiry with a reason. The record is created and the order proceeds once, so the status becomes consumed. Order 2 fails a check that the team classed as not overridable, so the request is refused and no record exists. Order 3 is overridden with a 24 hour expiry, but nobody uses it. After 24 hours the status is expired and the order shows its original failure again as blocking.

At the end there are 2 override records (one consumed, one expired), 1 refusal, and 3 original failures still on file. The counts match: 3 failures, 2 overrides, 1 refusal.

If the bypassed step has an uncertain external result, such as a timeout after a send, do not allow the override flow to repeat that step automatically. A person should confirm what happened first.

Stop conditions

  • Stop accepting new overrides if active overrides exceed a count you set, since this suggests the underlying check is broken.
  • Stop if the same operator creates an unusual number of overrides in a short time, and ask for a review by a second person.
  • Any change to the failure record itself should be rejected.

Proposed acceptance tests (not performed)

None of these has been run.

  • Create an override and confirm the original failure text is unchanged and still visible.
  • Try an override with no reason or no expiry and confirm it is rejected.
  • Let an override expire and confirm the item is blocked again.
  • Try to use a consumed override a second time and confirm it fails.
  • Try to override a non-overridable failure and confirm refusal.
  • List all overrides for a failure and confirm every state change is recorded.

These controls limit what an override can do. They do not prevent misuse by someone with enough access, so combine them with review and access limits.

Sources

    WhatsAppLet’s talk