ingest_triage

Classify and resolve conflicts detected during semantic-layer bundle ingest.

1.6k|101|Updated May 10, 2026
One-click install
npx skills add https://github.com/Kaelio/ktx --skill ingest-triage
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ingest_triage
Source: https://github.com/Kaelio/ktx/tree/main/packages/cli/src/skills/ingest_triage
Command: npx skills add https://github.com/Kaelio/ktx --skill ingest-triage

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

When ingesting data bundles into a semantic layer, duplicate names, contradictory metric definitions, and re-ingested artifacts can silently corrupt the knowledge base. This Skill gives the agent a deterministic decision tree for classifying each collision and applying the correct resolution before any write lands.

Core Features & Use Cases

  • Conflict classification: Distinguishes same-content duplicates, expression-only re-ingest changes, semantic breaks, structural duplicates, near-duplicate clusters, and definitional contradictions.
  • Resolution rules: Applies canonical election by inbound-ref count, rename-and-capture disambiguation with domain suffixes, silent replacement for expression-only changes, and eviction handling for Stage 4 sweeps.
  • Canonical pins and wiki capture: Honors prior user decisions from <canonical_pins> blocks and writes unified <concept>-definitions.md wiki pages documenting every variant with provenance.
  • Use Case: During a Stage 4 reconciliation sweep, two sources define churn_risk with different formulas; the agent renames them to churn_risk_engagement_based and churn_risk_billing_based, writes a unified wiki page, and flags the contradiction for human review.

Quick Start

Ask the agent to triage the conflicts detected in the current ingest bundle and resolve each one according to the ingest triage decision tree.

Frequently Asked Questions about ingest_triage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve duplicate metric definitions during data ingest?

Classify the duplicate first: same-content matches are skipped, structural duplicates elect one canonical artifact by inbound reference count, and definitional contradictions are renamed with domain suffixes and captured in a unified wiki page. Only contradictions and ambiguous cases are flagged for human review.

What is the difference between same-ingest and re-ingest conflicts?

Same-ingest conflicts occur within one bundle where no user signal indicates a winner, so all variants are captured and flagged. Re-ingest conflicts occur across bundles where re-uploading signals intent, so expression-only changes replace silently while semantic breaks replace with a flag.

How are canonical artifacts chosen among structural duplicates?

The canonical artifact is elected by highest inbound reference count from other sources, with ties broken by lexicographically first unit key and then source name. Losing variants are subsumed into a variants wiki page without flagging unless the election is ambiguous.

When does ingest triage flag a conflict for human review?

Flags are raised for definitional contradictions resolved via rename and capture, eviction retentions, override constraints conflicting with inbound references, and canonical pins referencing missing artifacts. Trivial duplicates, clear canonical elections, and expression-only re-ingests are never flagged.

What naming convention avoids ambiguous disambiguated metrics?

Use domain suffixes derived from the containing view, table, or collection, such as churn_risk_engagement_based or churn_risk_billing_based. Numeric suffixes like churn_risk_1 are discouraged because they disclose nothing about the variant's meaning.