From 9962476a5f42069b6ae1894ddf6dbdd0e8a5eba6 Mon Sep 17 00:00:00 2001 From: Morgan Joyce Date: Thu, 25 Sep 2025 14:50:12 +0900 Subject: [PATCH] docs: add MLflow tracking as example of AI provider agnosticism principle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Demonstrates provider-agnostic implementation pattern - Shows how to avoid N×M complexity problem - References tracking/parse_session.py as concrete example - Closes #1329 --- knowledge/principles/ai-provider-agnosticism.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/knowledge/principles/ai-provider-agnosticism.md b/knowledge/principles/ai-provider-agnosticism.md index 0ebbf485..a145c610 100644 --- a/knowledge/principles/ai-provider-agnosticism.md +++ b/knowledge/principles/ai-provider-agnosticism.md @@ -66,6 +66,10 @@ Historical note: `.claude/command-templates/` are intentionally retired; they re - Strengths: Novel OpenAI models, cutting-edge capabilities, unique availability - MCP: TOML config with mcp_servers sections +## Implementation Example: MLflow Tracking + +MLflow session tracking (`tracking/parse_session.py`) demonstrates provider agnosticism by extracting actual commands rather than maintaining provider-specific patterns. Instead of N×M complexity (N providers × M patterns), it uses a single parser that looks for `git`, `gh`, and bash commands regardless of AI formatting. This avoids provider detection entirely - working automatically with Claude Code, OpenAI Codex, and future assistants. + ## Relationship to Other Principles - **[Systems Stewardship](systems-stewardship.md)**: Consistent interfaces across providers