From 4d8d81496267ecfb3b916f32bf34a26b27ee61a9 Mon Sep 17 00:00:00 2001 From: Morgan Joyce Date: Thu, 25 Sep 2025 14:20:13 +0900 Subject: [PATCH] docs: add MLflow tracking as example of AI provider agnosticism Add concrete implementation example showing how MLflow tracking demonstrates provider-agnostic design by extracting actual commands rather than maintaining provider-specific patterns. Closes #1329 --- knowledge/principles/ai-provider-agnosticism.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/knowledge/principles/ai-provider-agnosticism.md b/knowledge/principles/ai-provider-agnosticism.md index 0ebbf485..d4f7c33f 100644 --- a/knowledge/principles/ai-provider-agnosticism.md +++ b/knowledge/principles/ai-provider-agnosticism.md @@ -73,3 +73,19 @@ Historical note: `.claude/command-templates/` are intentionally retired; they re - **[OSE](ose.md)**: External perspective prevents vendor lock-in This principle ensures AI assistant capabilities remain available even when individual providers experience issues, supporting continuous development workflow with triple redundancy. + +## Implementation Example: MLflow Session Tracking + +The MLflow tracking system demonstrates provider agnosticism by extracting actual commands from transcripts rather than maintaining provider-specific patterns: + +**Anti-pattern (N×M complexity):** +- Different regex patterns for each provider +- Provider detection logic +- Maintenance burden grows with each new AI assistant + +**Correct pattern (provider-agnostic):** +- Single parser looks for actual `git`, `gh`, and bash commands +- No provider detection needed +- Works automatically with any AI assistant + +See: `tracking/parse_session.py:72-95` - Extracts real commands regardless of AI formatting