If, Unless, Provided That, and As Long As
LESSON
If, Unless, Provided That, and As Long As
By the end of this lesson, you will be able to...
turn a rollout policy into a clear condition and an observable action;
distinguish the neutral guard
if, the negative guardunless, the strict prerequisiteprovided that, and the ongoing guardas long as;write conditional sentences without hiding the failure path or overstating what the condition guarantees.
Idea in one sentence: A conditional connector makes a decision depend on a visible condition, but it does not guarantee what happens outside that condition.
Core Insight
The team from the previous lesson has a small parser fix and a risky migration. They will release the fix to 10% of traffic first.
The release policy is not "ship when everyone feels confident." It is a set of observable boundaries:
Continue when error rate stays below 1%.
Pause if p95 latency rises above 300 ms.
Do not widen the canary unless old-client checks are complete.
Keep the rollback path available while the canary is growing.
These rules are understandable, but a status update needs complete sentences:
We can continue if the canary stays healthy.
We will not widen the canary unless the old-client check is complete.
We can widen it provided that the rollback path remains available.
We will keep monitoring as long as the canary is below 50% of traffic.
The connectors do not make the deployment safe. They expose the condition under which the team will take a particular action. That makes the policy reviewable by someone who was not in the release call.
The Small Situation
At each stage, the release engineer records the signals:
| Stage | Error rate | p95 latency | Old-client check | Rollback path | Decision |
|---|---|---|---|---|---|
| 10% | 0.4% | 220 ms | complete | ready | continue |
| 25% | 0.6% | 340 ms | complete | ready | pause |
| 25% after warmup | 0.5% | 260 ms | complete | ready | continue |
| 50% proposal | 0.7% | 280 ms | incomplete | ready | do not widen |
The naive update is vague:
We will continue when things look good, unless there is a problem.
What counts as "good"? What is the problem? Does the rule stop the current stage, or forbid the next stage? A conditional sentence is useful only when the condition and the action can be checked against the same evidence.
From Contrast to Condition
Lesson 003 kept two true claims together: the patch was small, but the migration was risky. Now turn that contrast into a decision rule:
The migration is risky, so we will widen the canary only if the old-client check is complete.
The first part explains the concern. The conditional clause defines the boundary. A good rule has four pieces:
| Piece | Question | Example |
|---|---|---|
| Action | What will we do? | We will widen the canary. |
| Condition | What must be true? | The old-client check is complete. |
| Signal | How do we know? | The compatibility report has no empty-value failures. |
| Failure path | What happens otherwise? | We keep traffic at 25% and investigate. |
Plain meaning:
If, unless, provided that, and as long as all connect an action to a condition.
In this scenario:
The team does not use a connector to sound cautious. It uses one to state exactly when a stage may continue and what happens when the guard fails.
Technical name:
These are conditional clauses. The condition is sometimes called the if clause, and the action or result is the main clause.
Choosing the Connector
Use if for a neutral, direct condition
If is the default when the condition is open and the writer wants a simple decision rule.
We will continue if the error rate stays below 1%.
The condition can come first:
If the error rate stays below 1%, we will continue.
Use a comma after an opening condition clause. When the condition comes second, a comma is usually unnecessary.
For a future decision, do not put will inside the if clause:
If the canary stays healthy, we will widen it.
Not:
If the canary will stay healthy, we will widen it.
The condition uses the present form even though the decision concerns the future. The main clause carries will.
Use unless for a negative condition, but keep the failure path visible
Unless means "if not."
We will not widen the canary unless the old-client check is complete.
Equivalent meaning:
We will widen the canary only if the old-client check is complete.
The positive only if version is often easier to review because it names the allowed condition directly.
Another useful form is:
We will pause unless p95 latency returns below 300 ms.
This means the default action is pause; recovery is the exception. Be careful with a negative main clause plus unless:
We will not continue unless latency is safe.
It is grammatical, but the reader must process two negatives. If the rule matters, rewrite it with only if or state the action positively.
Use provided that for an explicit prerequisite
Provided that means "on the condition that." It sounds more formal and makes the prerequisite feel deliberate.
We can widen the canary provided that the rollback path remains available.
This is useful in a release plan or approval note where the prerequisite needs to be visible. It does not mean the rollback path guarantees success. It means the team refuses to widen the canary without that protection.
Use as long as for a condition that must keep holding
As long as often describes an ongoing guard:
We will keep monitoring as long as the canary remains below 50% of traffic.
The monitoring continues during the interval in which the condition holds. It can also express permission:
We can continue as long as error rate and latency stay within the budget.
In technical writing, make the measurement or boundary explicit. Otherwise as long as can sound like a vague promise about duration rather than a rule about system state.
A Worked Decision Trace
Start with the policy:
continue below 1% errors
pause above 300 ms p95
do not widen before old-client check
keep rollback ready
Now inspect the 25% stage:
error rate: 0.6%
p95 latency: 340 ms
old-client check: complete
rollback path: ready
The error rate and compatibility check pass, but latency crosses the pause boundary. The update should not say that the canary is healthy just because one signal is green.
Write the decision step by step:
The old-client check is complete, so the compatibility condition is satisfied.
However, p95 latency is 340 ms, so we will pause at 25%.
We will continue only if p95 returns below 300 ms.
After warmup:
p95 latency: 260 ms
old-client check: complete
rollback path: ready
Now the policy allows progress:
We can continue if p95 stays below 300 ms. We can widen the canary provided that the rollback path remains ready.
At the 50% proposal, the old-client check is incomplete. The sentence should make that missing prerequisite the decision boundary:
We will not widen the canary unless the old-client check is complete. We can keep monitoring as long as traffic remains at 25%.
The conditions do not hide uncertainty. They turn it into a controlled next step.
What Conditions Do Not Guarantee
Conditional language is precise about a policy, but it can still be misunderstood as a guarantee.
We can ship if the canary stays healthy.
This means health is the stated permission condition. It does not mean the full rollout will be healthy, that the measurement is complete, or that the rollback path will work.
Add the missing boundary when it matters:
We can widen the canary if error rate and p95 latency stay within budget, provided that rollback remains ready. This does not cover failures that the current dashboards cannot observe.
The conditional sentence defines what the team will check. It does not define everything that can happen in production.
Common Confusions
Confusion: unless means "except when" in every sentence
Why it is tempting:
Translations often make unless look like a general exception marker.
Better model:
Unless X means if not X. Rewrite it once in your head and check whether the resulting policy is the one you intend.
Confusion: provided that guarantees the action
Why it is tempting:
The phrase sounds like a formal approval condition.
Better model:
It names a prerequisite for permission. It does not prove that the rollout will succeed after permission is granted.
Confusion: as long as only describes time
Why it is tempting:
The phrase can mean duration in ordinary conversation.
Better model:
In a release rule, it often means "while this measurable condition continues to hold." Name the boundary so the reader does not guess.
Confusion: will belongs in every future clause
Why it is tempting:
The decision is about the future, so the writer repeats will in both clauses.
Better model:
Use the present form in a normal future if clause: If metrics stay healthy, we will continue.
Check Your Understanding
Check: The team wants to continue only while error rate stays below 1%. Which sentence states that guard most clearly?
We will continue if error rate stays below 1%.We will continue as long as error rate stays below 1%.We will continue provided that error rate will stay below 1%.
Think first, then reveal.
Answer: Sentence 2. As long as highlights an ongoing guard. Sentence 1 can also be correct, but it does not emphasize that the condition must keep holding; sentence 3 uses the wrong future form in the condition clause.
Check: Which sentence has the clearest meaning for a release approval?
We can widen the canary provided that rollback remains ready.We can widen the canary unless rollback remains ready.
Think first, then reveal.
Answer: Sentence 1. The rollback path is an explicit prerequisite. Sentence 2 says the opposite of the intended safety rule.
Check: The current p95 latency is 340 ms and the pause boundary is 300 ms. Which update keeps the failure path visible?
We will continue if p95 is healthy.We will pause at 25% and continue only if p95 returns below 300 ms.
Think first, then reveal.
Answer: Sentence 2. It states the current action, the boundary, and the condition for resuming.
Practice: Write the Release Guard
A worker canary is at 10% of traffic. Error rate is 0.4%, p95 latency is 240 ms, the compatibility check is complete, and the rollback path is ready. The policy is to widen only when errors stay below 1%, latency stays below 300 ms, and the compatibility check is complete. If either metric crosses its boundary, pause and investigate.
Write a short release note with three sentences:
- use
iffor the immediate permission rule; - use
unlessorprovided thatfor a prerequisite or failure path; - use
as long asfor the ongoing monitoring guard.
A strong answer should:
- name the observable thresholds;
- distinguish permission from guarantee;
- state what happens when a metric crosses a boundary;
- avoid
willinside the condition clause; - keep the rollback path explicit.
One model answer is:
We can widen the canary if errors stay below 1% and p95 latency stays below 300 ms. We will not widen it unless the compatibility check is complete, and we can proceed provided that rollback remains ready. We will keep monitoring as long as the canary stays within those limits; otherwise, we will pause and investigate.
Daily Practice Lines
- We can continue if the canary stays healthy.
- We will not widen it unless the compatibility check is complete.
- We rolled back because errors exceeded the threshold.
Connections
Lesson 003 showed that a small patch and a risky migration can both be true. This lesson turns that contrast into explicit release guards. Lesson 005 will review the whole first cluster by combining cause, contrast, consequence, and condition in one decision note.
Trade-offs and Limits
The trade-off is between explicit control and flexibility. A detailed condition makes a release decision auditable, but it can also freeze progress around metrics that are easy to measure while hiding failures outside those metrics. Unless can make a compact rule shorter, but only if may be clearer when two negatives are involved.
Conditional language helps a team agree on the next action. It does not choose the right thresholds, prove that the dashboards cover every user impact, or make rollback instantaneous. The boundary appears when a sentence says a rollout is allowed but no one can point to the signal that will revoke that permission.
Resources
- [ARTICLE] Cambridge Dictionary Grammar - Focus on conditional clauses,
unless, and the present form in future conditions. - [ARTICLE] Microsoft Writing Style Guide - Focus on explicit conditions, actors, thresholds, and failure paths in technical decisions.
Key Takeaways
Ifstates a direct condition; the main clause states the action or result.Unlessmeansif not; rewrite it when a negative rule becomes hard to review.Provided thatnames a deliberate prerequisite, whileas long ashighlights an ongoing guard.- Use the present form in a normal future condition:
If metrics stay healthy, we will continue. - A conditional sentence defines permission under evidence; it does not guarantee production safety.
← Back to Technical English: Connectors and Phrasal Verbs