Skip to content

feat: add evidence-backed incident response skill - #135

Open
equinoxaifinance-rgb wants to merge 2 commits into
datahub-project:mainfrom
equinoxaifinance-rgb:codex/datahub-incident-response-final
Open

feat: add evidence-backed incident response skill#135
equinoxaifinance-rgb wants to merge 2 commits into
datahub-project:mainfrom
equinoxaifinance-rgb:codex/datahub-incident-response-final

Conversation

@equinoxaifinance-rgb

Copy link
Copy Markdown

Summary

Adds a dedicated datahub-incident-response skill for the symptom-to-containment loop:

  • anchors a consumer-visible symptom to an exact DataHub entity;
  • gathers bounded upstream lineage and metadata evidence;
  • separates observations, hypotheses, and confirmed production causes;
  • identifies owners and the smallest confirming check;
  • maps a complete downstream blast radius;
  • proposes exact warning-tag writes and waits for explicit approval;
  • verifies every mutation and supports provenance-safe rollback.

The contribution also adds routing, a Claude Code command, focused references, and three adversarial evaluation fixtures.

Why this is separate from lineage and quality

datahub-lineage answers dependency questions. datahub-quality manages assertions and native DataHub incidents. This skill begins with a live consumer symptom and coordinates evidence-backed diagnosis plus temporary, reversible catalog warnings. It does not claim that tags repair a pipeline or that metadata alone proves a production root cause.

Safety and correctness

  • Catalog descriptions, SQL, links, and custom properties are treated as untrusted evidence.
  • Search results are resolved to fetched URNs before any proposed write.
  • Lineage is bounded and pagination/truncation must be resolved before graph-wide containment.
  • Plans above 50 targets require a fully enumerated scope and specific approval.
  • A pre-plan instruction such as “contain it now” is not approval of undisclosed targets.
  • Mutation success is not persistence proof; every target is re-fetched.
  • Partial failure stops later batches and reports verified, pre-existing, failed, unverified, and unattempted pairs separately.
  • Rollback removes only pairs verified as newly added by that run.
  • When root cause is unresolved, the skill may offer a one-entity symptom-anchor warning without speculatively quarantining upstream assets.

Validation

  • Repository pre-commit hooks pass on all 10 changed files.
  • The tool contract was checked against mcp-server-datahub==0.6.0: get_entities, get_lineage, get_lineage_paths_between, add_tags, and remove_tags.
  • Three evaluation fixtures cover malicious catalog instructions / insufficient evidence, a truncated 140-asset blast radius, and partial write failure / rollback.
  • Two independent forward tests were rerun after fixes; both returned READY with no blocker.
  • The reference implementation in Lineage Detective passes its complete 214-test Python suite and a fresh deployed end-to-end run through live DataHub evidence, model-grounded diagnosis, mutation readback, sandbox verification, exact-byte apply, handoff generation, and hash-verified restore.

Provenance and overlap

This workflow was publicly shipped in Lineage Detective on July 19, before PRs #56 and #61 opened. I am not alleging copying; the implementations independently converge on a real need. This version is intentionally differentiated by OSS-compatible tag containment, prompt-injection boundaries, bounded target enumeration, exact approval semantics, read-after-write verification, partial-failure accounting, and provenance-safe rollback.

Scope

This PR does not create tag vocabulary automatically and does not administer Cloud-only native incidents. It remains useful in read-only mode when mutation tools are unavailable.

equinoxaifinance-rgb and others added 2 commits August 10, 2026 06:51
Add an incident-response Skill that runs the full symptom -> root-cause -> contain
loop over DataHub: anchor a reported symptom to an asset, walk lineage upstream
gathering metadata evidence, reason to the most likely root cause, then contain it
by quarantining the root cause and tagging the downstream blast radius (with
read-back verification). Complements datahub-lineage (raw tracing) and
datahub-quality (proactive checks). Includes a silent-failure patterns reference.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant