Write-Back Gap
Direct answer. A write-back gap is a one-way integration. Data flows out to a portal, a rater, a provider or a field application, work happens there, and nothing returns. The system of record stays internally consistent and quietly incomplete: activity history is missing the transactions that mattered, and any analysis of service load, touch frequency or stage duration is computed over the subset that happened to be captured. The gap is invisible from inside the record, because a record cannot report on the entries it never received.
A one-way integration is a design outcome, not a failure
Integrations get specified in the direction somebody asked for: push the customer to the tool, push the job to the field, push the applicant to the rater. The return path is a separate build with a separate cost, and it is the one that carries operational truth back. Nothing breaks when it is missing. The record simply stops receiving the entries that describe what actually happened.
The gap is invisible from inside the record, because a record cannot report on entries it never received. It surfaces indirectly — a renewal conversation with no service history, a handover with no context, a report whose denominator is quietly the subset that happened to be captured.
How to detect it without new instrumentation
- Name the system of record for the entity in question.
- List every downstream or edge system that receives it — portal, rater, field application, provider, scheduler.
- For each, ask what the person there produces: a note, a status, a completion, a measurement, a signature.
- Check whether any of that appears in the system of record, and by what path.
- Where it does not, reconcile: export transactions from the external system for a bounded period and compare them against the record.
This is a reading exercise, not a build. The data already exists and was already created by a person doing real work; the question is only whether it is carried.
Decide the identity key at the outward hop
A return path is only useful if the returning entry can be matched to the record it belongs to. Event specifications make this explicit rather than incidental: a producer must ensure that the combination of `source` and `id` is unique for each distinct event, and a consumer may assume that events sharing that pair are duplicates [cloudevents_spec]. The same discipline applies to a write-back — decide the key when the record leaves, because reconciling on names and dates afterwards is additional work that deciding a key once avoids.
Retry behaviour belongs in the same decision. A method is idempotent when the intended effect of several identical requests is the same as the effect of one [rfc9110_idempotent], which is why a return path built on repeatable writes survives the timeouts and redeploys that occur in normal operation. Platform guidance for at-least-once delivery makes the same point from the consumer side: where events may be received more than once, the consumer must be idempotent so that processing the same event repeatedly has the same outcome as processing it once [azure_resilient_event_design].
What identifying a write-back gap establishes
| It establishes | It does not establish |
|---|---|
| That the system of record is incomplete for a named entity | That the work done externally was done poorly |
| Which external system holds the missing entries | What the missing entries would have shown |
| That analyses over that entity are computed on a subset | That any decision, outcome or revenue figure changed |
| That a return path was never specified | That a vendor is incapable of providing one |
Where this sits
The integration and orchestration systems guide owns the broader architecture; this is one supporting entity inside it. The documented event surface determines whether a return path can be event-driven at all, and terminal state configuration governs what a sequence writes when it stops. This entry sits in the Glossary. Locate the capability under the Integration & Orchestration Systems domain, and use Revenue Scan when the next question is whether public surfaces show observable gaps.
Source and evidence notes
-
cloudevents_specCloudEvents specification, a graduated Cloud Native Computing Foundation project. It defines the required context attributes id, source, specversion and type, requires producers to ensure that source + id is unique for each distinct event, and states that consumers may assume events with identical source and id are duplicates. Limitation: A description and interoperability vocabulary only. It does not guarantee that any platform emits events, delivers them, or performs deduplication. -
rfc9110_idempotentIETF RFC 9110, "HTTP Semantics" (STD 97, June 2022), Section 9.2.2 "Idempotent Methods": a request method is idempotent if the intended effect on the server of multiple identical requests with that method is the same as the effect for a single such request. Limitation: Defines HTTP method semantics only. It does not make any specific integration or vendor operation safe to retry. -
azure_resilient_event_designMicrosoft, "Resilient Design Guidance for Event Hubs and Functions," Azure Architecture Center. It states that at-least-once delivery means events can be received more than once and that a consumer must be idempotent so processing the same event multiple times has the same outcome as processing it once, and it names checkpointing, duplicate publication and missing acknowledgements as causes of duplicates. Limitation: Platform-specific architecture guidance cited as a published example of at-least-once semantics. It is not a general standard, does not describe any other vendor, and is not a recommendation of any platform.