feat: add incident investigation skill for lineage-driven root cause analysis - #133
Open
alejandro-publius wants to merge 1 commit into
Open
Conversation
…analysis Adds `datahub-incident-investigation`, a sixth catalog interaction skill that takes a reported data symptom and drives it to an evidence-backed root cause, a scoped remediation, and a resolved incident. It complements `datahub-quality` rather than overlapping it: quality detects and records (assertions, health, incident CRUD); investigation explains and resolves — it traverses upstream and column-level lineage to localize the fault, eliminates competing hypotheses on necessity and sufficiency, confirms a cause behind a five-point evidence gate, assesses blast radius, proposes and verifies a remediation, and closes the incident with `updateIncidentStatus(state: RESOLVED, stage: FIXED)`. All CLI and GraphQL recipes were executed against a live DataHub OSS instance (`serverEnv: core`, CLI 1.7.0) before submission.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
datahub-incident-investigation, a sixth catalog interaction skill that takes a reported data symptom and drives it to an evidence-backed root cause, a scoped remediation, and a resolved incident.It is deliberately not an overlap with
datahub-quality. Quality detects and records — assertions, health filters, incident CRUD. Investigation explains and resolves:lineage pathto confirm a route; an upstream that does not feed the affected column is eliminated by one commandupdateIncidentStatus(state: RESOLVED, stage: FIXED)andaddLinkfor the RCA report, then routes prevention work to/datahub-qualityand/datahub-enrichEvery CLI and GraphQL recipe in the skill was executed against a live DataHub OSS instance (
serverEnv: core,serverType: quickstart, CLI 1.7.0) before submission. Three things that run surfaced and the docs now reflect:healthis returned as a list of health entries, not a single objectproperties.descriptionandeditableProperties.descriptionare independent — an agent that reads only one will report a documented field as undocumentedincident(urn: ...)query on OSS (FieldUndefined); the working paths are the owning entity'sincidents(...)connection ordatahub get --urn <incident-urn>raiseIncident,updateIncidentStatus, andaddLinkwere all verified working on OSS, not just Cloud.Skill structure
skills/datahub-incident-investigation/SKILL.mdskills/datahub-incident-investigation/references/evidence-standards-reference.mdskills/datahub-incident-investigation/references/investigation-recipes-reference.mdskills/datahub-incident-investigation/templates/incident-rca-report.template.mdskills/datahub-incident-investigation/templates/hypothesis-ledger.template.mdskills/datahub-incident-investigation/README.mdcommands/catalog-investigate.mdallowed-toolsis scoped narrowly and read-only:Bash(datahub *),Bash(git log *),Bash(git diff *),Bash(git blame *),Read,Grep,Glob. The skill deliberately has no warehouse execution path — it emits portable ANSI profiling SQL for the user or their own approved tooling to run, and it never applies a remediation itself.Integration changes
using-datahub/SKILL.md— routing table row added; new "Quality vs. Investigation" and "Lineage vs. Investigation" disambiguation blocks; Critical Rule 7 addeddatahub-quality— "Not This Skill" row plus two key-boundary bullets separating incident state management from incident diagnosisdatahub-lineage— "Not This Skill" row, a note that its root-cause traversal mode is topology only, and a next-step pointerdatahub-search,datahub-enrich,datahub-setup— "Not This Skill" rowsREADME.md— skill section, manual-install line, repo-layout tree, commands table, "What works where" row, Contributing → where things live.claude-plugin/plugin.json,.claude-plugin/marketplace.json— description strings only; no version editsLint:
prettierandmarkdownlint-cli2 v0.21.0(167 files, 0 errors) plus thepre-commit-hooksandruffhooks all pass.