We have trained ourselves to treat refusal as a software failure.

The request was rejected. The build stopped. The transaction did not complete. The service returned an error. Someone opens an incident and asks how quickly the system can be made to continue.

Sometimes that is exactly the right response.

But sometimes the system has done its job. It understood the proposal, evaluated the applicable governance, found that the proposal could not proceed, and stopped without leaving a partial result.

What if that is success?

A refusal is not a crash

Consider a door with a working lock. A person presents a key that does not fit. The door remains closed. The lock has not failed; it has produced the correct determination.

Software often makes this harder to see. A refusal may appear as an exception, a rejected build, a 403 response, or a missing output. Those forms are mechanisms. The semantic question is different: did the system determine that the proposal must not proceed, and can it establish why?

Protocol-Governed Computing (PGC) treats refusal as one of the defined consequences of governance, alongside admit and constrain. It is not a degraded admission. It is not a warning attached to an outcome that continues. It is the successful result of a determination that says: this proposal does not proceed.

The shape of refusal

The Semantic Model describes a governed transition as a proposal evaluated over a governed state and an applicable governance closure. The result is a determination, followed by a resulting state and evidence.

When the determination is refuse, the governed state remains unchanged with respect to the proposal. The transition still exists because the refusal itself is a meaningful event, and it must be evidenced.

That gives refusal a precise shape:

proposal -> determine -> refuse -> unchanged governed state + evidence

The important phrase is “unchanged governed state.” A system may record the refusal, but it may not quietly write half the transaction, emit an undeclared effect, or leave a candidate available for someone else to accept later.

Fail-hard behavior

Fail-hard behavior is often described as an operational preference: stop rather than continue when something looks wrong. In PGC it has a semantic reason.

If construction cannot establish the governance closure for a candidate, it cannot know that the candidate is admissible. If a reference cannot be resolved, the structure is not complete. If a snapshot fails integrity or identity verification, execution cannot establish what it is about to run.

In each case, continuing would not be a neutral choice. It would create behavior that no complete determination authorized.

Fail-hard therefore means refusing the governed operation as a whole. There is no partial authorized representation, no “best effort” route, and no acceptance with warnings. A realization may perform transient internal work, but a refusal must leave nothing behind that can later be accepted as governed output.

This is stricter than many systems are today because it refuses to turn uncertainty into a hidden default.

Unknown is not empty

The most consequential version of this rule concerns an unknown governance closure.

Suppose a request should be evaluated under a set of rules, but one governing element is unresolvable. Or an authority is undeclared. Or the applicable rule set cannot be bounded before evaluation begins.

A tempting implementation says: no rules were found, so there is nothing to reject.

PGC says the opposite. The closure is unknown, not empty. The determination is refusal because the system cannot establish what governance applies.

This asymmetry matters. If unknown and empty produced the same result, a missing rule would be indistinguishable from a deliberate absence of rules. A system could become less governed by losing information while continuing to report permission.

That is not graceful degradation. It is an authority leak.

Rule refusal and closure failure

PGC also insists that two kinds of refusal remain distinguishable.

A rule refusal occurs when the closure is established, the supplied rules are evaluated, and one or more rules yield refusal. The system knows what governed the proposal and which rule produced the consequence.

A closure-failure refusal occurs before rule evaluation because the system could not establish the applicable closure. No rule was evaluated; the model itself requires refusal.

The difference changes the remedy. A rule refusal may mean the proposal must be changed or an authorized policy must be transformed. A closure failure may mean an authority, reference, profile, or dependency is missing. Reporting both as “validation failed” loses the information needed to govern the next change.

Refusal dominates

What happens when several applicable rules disagree? PGC does not use first match, last match, or the most convenient exception.

Consequences compose by dominance:

refuse > constrain > admit

If one applicable rule refuses, another rule cannot grant permission over it. Adding a rule to a closure must never widen what the system may do. Otherwise a larger governance closure could make a system less governed simply by containing more rules.

This is not a claim that every policy should be restrictive. It is a rule for composing whatever governance has actually been declared.

Why refusal must be evidenced

A refused proposal leaves no business-state change, so it is tempting to record nothing. But an unrecorded refusal is indistinguishable from a request that was never made.

Evidence must establish what was proposed, what closure and authority applied, what caused the refusal, and that nothing partly proceeded. The same requirement applies to closure failure, with the cause made explicit.

This turns a negative outcome into something independently checkable. A later evaluator need not trust a message saying “access denied.” It can examine the supplied evidence and determine whether the refusal was governed.

The test for real refusal

A conformance demonstration cannot stop at “the command returned nonzero.” It must show that the refusal occurred, that the intended effect did not occur, that the grounds were established, and that the cause was distinguished.

The fixture must actually violate the obligation. A test suite containing only valid inputs can run thousands of checks without demonstrating a single refusal. A check that cannot fail is vacuous, however prominently it appears in a report.

This is why negative demonstrations matter. They exercise the boundary where governance becomes visible.

The engineering instinct to override

Most of us have encountered the emergency path: “If the policy service is unavailable, let the request through.” Sometimes a business deliberately chooses that risk. But it cannot be smuggled in as a technical fallback while the system continues to claim governed behavior.

Under PGC, inability to establish governance refuses. If an organization wants a different rule, it must declare and govern that rule as a change. The implementation cannot invent permission merely because continuation is convenient.

That is a difficult discipline. It is also the point.

Success that leaves the state alone

A governed system is not measured only by how much work it completes. It is also measured by whether it can decline work without inventing a new meaning on the way out.

Refusal says the boundary held. The proposal was considered. The reason is available. The governed state did not drift. The system did not substitute a guess for authority.

That is not failure disguised as success. It is success made legible.

The next question follows naturally: if a system can refuse correctly, can it also prove what it was allowed to do when it proceeded?


The standard is open, and I am looking for people to attack it — not endorse it.

What it claims, what would prove it wrong, and what has not yet been established are all set out in the call for review. If there is a place in your system where unknown quietly becomes permitted, I would like to hear where it is and why it got there.

Objections, counter-examples, and serious technical criticism: bachipeachy@gmail.com