mcp-data-platform-v0.8.1
Lineage Configuration Wiring + Timeout/Cache Implementation
This release completes the lineage-aware semantic enrichment feature introduced in v0.8.0 by wiring configuration through the platform and implementing timeout and caching for lineage resolution operations.
Features
Lineage Configuration Wiring
SemanticConfignow includes theLineagefield for configuring lineage-aware column inheritance- Platform properly passes lineage configuration to the DataHub semantic adapter
- Example configuration added to
configs/platform.yaml
Lineage Resolution Timeout
- Configurable timeout for lineage resolution operations via
lineage.timeout - Prevents runaway queries when DataHub is slow or unresponsive
Lineage Resolution Caching
- Thread-safe caching of lineage resolution results via
lineage.cache_ttl - Reduces redundant API calls to DataHub for repeated column lookups
- TTL-based expiration with automatic cleanup
Configuration
semantic:
provider: datahub
instance: primary
lineage:
enabled: true
max_hops: 2
inherit:
- glossary_terms
- descriptions
conflict_resolution: nearest
prefer_column_lineage: true
cache_ttl: 10m # Cache lineage results
timeout: 5s # Timeout for lineage operationsTesting
Added comprehensive test coverage:
- YAML configuration parsing
- Platform-to-adapter wiring verification
- Adapter lineage behavior (enabled/disabled)
- Cache functionality (TTL, expiration, copy semantics)
- Timeout functionality (context deadline)
Files Changed
pkg/platform/config.gopkg/platform/platform.gopkg/platform/config_test.gopkg/platform/platform_test.gopkg/semantic/datahub/adapter.gopkg/semantic/datahub/adapter_test.gopkg/semantic/datahub/lineage_resolver.gopkg/semantic/datahub/lineage_resolver_test.goconfigs/platform.yaml
Upgrade Notes
No breaking changes. Existing configurations continue to work. To enable the new caching and timeout features, add cache_ttl and timeout to your semantic.lineage configuration.
Changelog
Others
- fc5259f: Docs/readme updates (#19) (@cjimti)
- d0cf838: Documentation for Lineage-Aware Semantic Enrichment (#27) (@cjimti)
- 934029f: Housekeeping/missing docs (#28) (@cjimti)
- c4452b8: Lineage Configuration Wiring + Timeout/Cache Implementation (#29) (@cjimti)
- 415e7e7: Lineage-Aware Semantic Enrichment (#26) (@cjimti)
- 2c667c1: Update README to replace logo with banner image and add the new banner file (#20) (@cjimti)
- f55c092: ci: bump actions/checkout from 6.0.1 to 6.0.2 (#24) (@dependabot[bot])
- 32f7e98: ci: bump actions/setup-python from 6.1.0 to 6.2.0 (#22) (@dependabot[bot])
- 34b4353: ci: bump anchore/sbom-action from 0.21.1 to 0.22.0 (#23) (@dependabot[bot])
- 13b2b15: ci: bump github/codeql-action from 4.31.10 to 4.31.11 (#25) (@dependabot[bot])
- afea984: docker: bump alpine from 3.21 to 3.23 (#21) (@dependabot[bot])
Installation
Homebrew (macOS)
brew install txn2/tap/mcp-data-platformClaude Code CLI
claude mcp add mcp-data-platform -- mcp-data-platformDocker
docker pull ghcr.io/txn2/mcp-data-platform:v0.8.1Verification
All release artifacts are signed with Cosign. Verify with:
cosign verify-blob --bundle mcp-data-platform_0.8.1_linux_amd64.tar.gz.sigstore.json \
mcp-data-platform_0.8.1_linux_amd64.tar.gz