How do you decide what moving from stage-gated verification to continuous verification actually changes?
answer
- Freshness of evidence, not its definition
- Triage the checks, do not migrate them
- Some oracles are human and stay so
- Split a check rather than choose
- An unowned standing check gets muted
basics
~20 sSort the existing checks by what makes them safe to run constantly: speed, determinism, self-diagnosis and freedom from scarce resources. Those become standing assertions evaluated on every change and against the running system; the rest still needs a release boundary, and saying which is which is the decision.
solid answer
~50 sContinuous verification changes **when evidence is produced**, not what counts as evidence. In a stage-gated model, verification is an event at a lifecycle boundary; in a continuous model, a check is a standing property that is evaluated on every change and, for some properties, against the running system. The decision is a triage, not a migration. A check can become continuous if it is fast, deterministic, self-diagnosing, safe to run repeatedly, and does not need a scarce shared environment or a human judgement. Anything requiring real users, a long soak, destructive data or specialist environments stays at a boundary, and pretending otherwise produces either noise or a check nobody trusts. Two things do not change: the pairing between an artefact and the level that verifies it, and the need for validation against real users. What does change is ownership — a standing assertion with no owner degrades into an alert everyone mutes.
code
pseudocode · 12 lines# boundary-time form: one execution, one verdict, at a lifecycle boundary
run_at_release_boundary:
result = execute_full_volume_check(meters = 218400, window = "47 min")
record_verdict(result)
# continuous form: the same property expressed as a standing assertion
standing_assertion "ingest keeps pace with a bunched reporting window":
owner = "feed team"
evaluate_on = ["every change", "every 5 minutes against the running system"]
shape = reduced_burst(meters = 4096)
holds_when = backlog_age_seconds < 90
on_break = notify(owner), name_the_failing_stage()go deeper
Understand the basic contrast: a gated model produces verification evidence at defined moments, while a continuous model keeps evaluating the same properties as changes land. Knowing why fast and reliable checks matter is enough here.
Explain the properties that make a check safe to run constantly — speed, determinism, self-diagnosis, no scarce resources — and be able to say why an unreliable check gets worse rather than better when run more often.
Show that you have split a real check into a cheap continuous form and a full boundary-time form, and that you can name work that legitimately stayed at the boundary and defend that decision.
Own the organisational half: who owns each standing assertion, what happens when one stays red, and how you stop a permanently green signal from replacing the judgement about what nobody asserted at all.
## What the shift actually is Stage-gated verification treats a check as an **event**: at a defined boundary, a body of checking is executed, and its result informs a decision. Continuous verification treats a check as a **standing property**: an assertion that should hold at all times, evaluated on every change and, where the property is about live behaviour, evaluated continuously against the running system. The difference is when the evidence is produced and how fresh it is when someone relies on it. That is a smaller change than the vocabulary suggests, and treating it as a wholesale replacement is the usual mistake. The useful framing for a lead is a triage of the existing checking, not a migration project. ## The triage Five properties decide whether a check can stand continuously. 1. **Speed relative to the change rate.** A check that takes longer than the interval between changes cannot be continuous in any useful sense; it will always be reporting on a system that no longer exists. 2. **Determinism.** A check that fails occasionally on unchanged code destroys the signal faster the more often it runs. Continuity multiplies nondeterminism rather than tolerating it. 3. **Self-diagnosis.** A standing assertion that fails must say what broke without a human reconstructing the state. At boundary cadence someone investigates each failure; at continuous cadence nobody can. 4. **Resource independence.** Anything needing a scarce shared environment, a licence-limited generator, or coordination with another team cannot run on every change, whatever its value. 5. **Oracle type.** If the thing that decides whether behaviour is wrong is a person's judgement — usability, fitness for a real job, whether a workflow makes sense — no amount of automation makes it continuous. That work belongs to a session with a human in it. A check failing any of these is not a failure of the team; it is a check that belongs at a boundary, and saying so explicitly is more valuable than forcing it. ## A worked triage A smart-meter reading feed ships on a 3-week release train and carries three bodies of checking. The functional checks over the ingest and entitlement rules pass all five tests: seconds to run, deterministic, and they name the failing rule. They become standing assertions evaluated on every change, and the train stops being the moment anyone learns the rules are broken. The volume work does not. Reproducing 218,400 meters reporting into one bunched window needs a dedicated environment and takes 47 minutes. A reduced form of it can stand continuously — a smaller shaped burst that catches order-of-magnitude regressions — while the full-scale run stays a boundary activity. Splitting a check into a continuous cheap form and a boundary-time full form is usually a better answer than choosing one. The entitlement review does not become continuous at all. The escalation that mattered on this feed was a rule that granted a technician access to any household's history: it was implemented exactly as specified and passed every check written against that specification. No standing assertion would have caught it, because the assertion would have been derived from the same specification. What did catch it was a human comparing the rule to how the job is actually done. Continuous verification does not eliminate that; it frees the schedule so it can happen more often. ## What does not change Three things survive the shift, and a principal answer names them. The **artefact-to-level pairing** is untouched: a check still verifies against some stated intent, and moving it to run continuously does not change which intent it verifies against. A continuous check derived from a wrong specification is a wrong check evaluated more often. **Validation** still needs real users and real context. Continuous verification produces fresher conformance evidence, not evidence of fitness. **Judgement about sufficiency** remains a human decision. Continuity tells you the standing assertions hold right now; it does not tell you they are the right assertions or that they cover what this change touched. ## The organisational cost The expensive failure is ownership. A standing assertion that fires with no owner becomes an alert people mute, and a muted assertion is worse than an absent one because it appears on a report as covered. So each standing check needs a named owner, a defined response, and a rule for what happens when it stays red — most usefully, an agreement that a persistently failing standing check either gets fixed or gets removed, never left red indefinitely. There is also a subtler one: continuous verification makes evidence cheap, and cheap evidence gets over-trusted. A dashboard that is green all the time is easy to read as "the system is fine" rather than "the properties someone thought to assert still hold". ## Framing the answer Say that the shift changes freshness and cadence, not the definition of evidence. Give the triage properties. Give an honest example of something that cannot move and say why. Name what stays the same, and name the ownership cost. Avoid claiming that continuity removes the need for a release-time judgement — it changes what that judgement is made from.
- Which checks should never be made continuous, however much effort you spend?Anything whose oracle is human judgement — usability, fitness for a real job, whether a workflow makes sense to the person doing it — because automating the execution does not automate the judgement. Alongside those, anything that needs a scarce shared environment, destructive or irreplaceable data, a long soak to reveal its property, or coordination with another organisation. Forcing these into a continuous cadence yields either a check so degraded it proves nothing or a permanently red signal that people learn to ignore.
- How do you stop a set of standing assertions degrading into noise?Give every standing assertion a named owner, a defined response when it fires, and an expiry rule: a check that stays red is either fixed or deleted, never left red. Treat a nondeterministic standing check as a defect in the check and pull it out of the standing set until it is deterministic, because at continuous cadence one unreliable assertion poisons the whole signal. Review the standing set periodically the way you would review any other asset, and remove assertions that no longer describe a property anyone cares about.
- Does continuous verification remove the need for judgement at a release boundary?No, it changes what that judgement is made from. Instead of asking whether a body of checking was executed recently enough to trust, you ask whether the standing assertions cover what this change actually touched and what evidence is still missing. That is a better question, but it is still a judgement, and it still needs someone to weigh the areas nobody asserted anything about. Teams that read a permanently green signal as a decision have replaced a slow judgement with an absent one.
saying these in an interview costs you the question
- Claims every check can be made continuous with enough effort
- Treats continuous verification as a synonym for automating everything
- Leaves standing checks red and calls them known failures
- Says a green signal removes the need for release judgement
- Ignores that some oracles are human and cannot be automated
- Confuses evidence freshness with broader coverage