Build1 distinct publisher3 min readPublished
Certification proves a table has an owner, docs and tests, which is a design-time claim. Grab's DPI lifecycle covers runtime by asking each platform whether the contract's tests are healthy, then ticketing the breach.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
The load-bearing distinction is between a test run and a test's health. A run is a point-in-time pass or fail. Health is a claim about every interval the test is accountable for, and Grab's orchestrator treats a test as unhealthy until the underlying issue is fully resolved [8]. The worked example is a completeness check on the T-1 daily partition: it failed two days ago, passed yesterday and today, and remains unhealthy until the older partition has been backfilled and verified [9]. Two green runs in a row do not close the issue, which is inconvenient for dashboards and correct for consumers.
That state machine is forced by the auto-close requirement. Grab designed the lifecycle to run with minimal human in the loop, and a good DPI should close itself when the condition recovers [5]. If closure is keyed to the last run, the stack self-resolves at the next successful schedule and leaves the hole in the partition behind it.
The second decision is where the semantics live. Kinabalu, Grab's incident orchestrator, does not compute freshness or completeness. It asks whether the contract's tests are healthy through Test Health APIs, and one unhealthy test means a breached contract and a new DPI [6][7]. The contract is a versioned producer-consumer agreement covering schema, freshness, completeness and other semantic guarantees, codified as data quality tests in Genchi [13]. So the alert-to-ticket step is a lookup against a named test set, not a heuristic about severity.
Noise control sits in triage. New signals for an already-open breach update that DPI instead of forking a second one, and DPIs with a shared root cause can be grouped [11]. Each promoted issue carries the affected asset, the breached contract, the unhealthy tests, the data interval, and upstream and downstream dependencies [12]. That context list is also the diagnostic input, which is why the detect step has to gather it rather than link to a dashboard.
This only transfers if a few conditions hold. Contracts need to name specific tests rather than describe a table in prose, and the quality layer needs to express health per test across intervals rather than just per run [8]. The ownership graph also needs to name a producing job, a platform incident or a late upstream, since otherwise every breach lands on the asset owner and you pay for the handoff [14]. Grab has the first two through Genchi and the Data Contract Registry [2], which is the part of the certification stack the ticket lifecycle actually reads [6].
The contentious half is assignment, and the published excerpt stops at the sentence that introduces it [17]. Certification, meanwhile, is doing the job it was scoped for: it documents ownership, lineage and controls, and it does not stop a certified Kafka stream from violating a freshness expectation [3].
Ranked by verification strength, evidence, and original report placement.
Grab's data mesh approach centres on the Signals Marketplace, a way for teams to publish, discover, and reuse trusted data products across domains, described in Parts I and II of the series.
Part II introduced the foundational tools behind certification: Hubble for metadata and ownership, Genchi for data quality observability, and the Data Contract Registry for explicit producer-consumer guarantees.
Grab says certification gives downstream consumers confidence in an asset's ownership, documentation, lineage and quality controls, but does not eliminate runtime failure: a certified table can still arrive late, a certified metric can still be affected by a broken dependency, and a certified Kafka stream can still violate a freshness expectation.
Grab states that keeping certified data products reliable requires a consistent way to detect failures, diagnose the root cause, fix the issue and verify recovery, and that Data Production Issues (DPIs) turn data quality signals into an operational workflow.
Grab designed the DPI lifecycle to be automated with minimal human-in-the-loop, and states that a good DPI should be clear enough to act on and should close automatically when the underlying condition recovers.
The DPI lifecycle starts when Kinabalu, Grab's incident orchestrator, observes that a data asset may no longer satisfy its contract; the contract captures the reliability expectations for the asset along with the health checks, exposed through Test Health APIs, that evaluate those expectations.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 27, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Three services you can delete: queue, cache and search in one Postgres1 distinct publisher
leadership
Shopify built its own telemetry platform, and its architect would now buy the managed version1 distinct publisher
build
The AI SRE that is not allowed to guess: Databricks scopes its agent to "what changed"1 distinct publisher
build
Grab's account-manager assistant decides what it was asked before it answers1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One first-party account, unusually specific
Grab's own engineers are the only witness, which caps this — but the description is far more falsifiable than a typical architecture post: a named orchestrator, a named integration surface, a four-value taxonomy, and a worked completeness example that shows exactly when a test stops being unhealthy. Specificity of that kind is checkable by anyone who tries to build it; what is missing is anyone who has.
Inside Grab only, no counters
One company runs this, and Grab tells us so in the present tense — but not how much of it runs. No count of contracted assets, no issues-per-week, no share of alerts that survive triage, no time-to-close distribution. The sample response that might have carried an operational number is explicitly mock. Internal use by a large data organisation is real adoption; it is also the whole of it.
Sober mechanics, one soft promise
Grab spends its opening paragraphs arguing against its own prior work — certification proves nothing about runtime — and labels its example data as fake, both of which pull the other way. The one place the writing runs ahead of what it shows is automation: issues that are 'clear enough to act on' and close themselves with minimal human involvement is a design goal presented without a single figure on how often it holds. Small overhang, not a pitch.
Engineering brand, nothing on sale
Grab gains reputation and recruiting reach from a three-part series on its data mesh, and the third instalment naturally casts the first two as foundations worth having built. That is a real slant on emphasis — successes narrated by their authors. It is not a commercial one: no product, no licence, no vendor being displaced, and no customer reading this is being asked for money.
Firm on design, blind on outcomes
We can say with confidence what Grab built and why the interface is drawn where it is; the mechanics are internally consistent and the tricky bits are the ones a marketing post would have skipped. We cannot say whether it works, because no result is reported — and the text we hold stops mid-example, leaving the remedy and verification half of the lifecycle to be taken on trust.