--- phase: 02-tier-1-2-providers plan: 02 subsystem: providers tags: [providers, yaml, tier-1, keyword-anchoring] requires: [pkg/providers/schema.go, pkg/providers/loader.go, pkg/providers/registry.go] provides: - Azure OpenAI 32-hex pattern provider definition - Meta AI (Llama API) LLM|-prefixed token provider definition - Cohere 40-char token provider definition - Mistral AI 32-char keyword-anchored provider definition - Inflection AI (Pi) opaque-token provider definition - AI21 Labs 32+-char keyword-anchored provider definition affects: [providers/, pkg/providers/definitions/] tech_stack: added: [] patterns: [yaml-provider-definitions, dual-location-embed, keyword-ac-prefilter] key_files: created: - providers/azure-openai.yaml - providers/meta-ai.yaml - providers/cohere.yaml - providers/mistral.yaml - providers/inflection.yaml - providers/ai21.yaml - pkg/providers/definitions/azure-openai.yaml - pkg/providers/definitions/meta-ai.yaml - pkg/providers/definitions/cohere.yaml - pkg/providers/definitions/mistral.yaml - pkg/providers/definitions/inflection.yaml - pkg/providers/definitions/ai21.yaml modified: [] decisions: - Low-confidence regex (generic character classes) compensated by strong keyword lists for Aho-Corasick pre-filtering - Azure OpenAI and Inflection use empty verify blocks (no stable public endpoint / requires deployment URL) - Meta AI pattern anchors on LLM| literal prefix to reduce false positives metrics: duration: 1m tasks: 2 files: 12 completed: "2026-04-05T11:11:55Z" requirements: [PROV-01] --- # Phase 2 Plan 2: Tier 1 Medium/Low-Confidence Providers Summary Added 6 Tier 1 LLM provider YAML definitions (Azure OpenAI, Meta AI, Cohere, Mistral, Inflection, AI21) with strong keyword lists anchoring generic opaque-token regex patterns, completing Tier 1 at 12/12. ## What Was Built Created 12 YAML files (6 providers x dual location) covering the remaining Tier 1 providers that lack distinctive high-confidence prefix patterns. These providers rely on Aho-Corasick keyword pre-filtering (azure, cohere, mistral, jamba, PI_API_KEY, etc.) to reduce false positives since their key formats are opaque hex/alphanumeric tokens. - **Azure OpenAI**: 32-hex pattern, no verify endpoint (requires per-deployment URL) - **Meta AI**: `LLM|` literal prefix anchor, api.llama.com verify endpoint - **Cohere**: 40-char alphanumeric, api.cohere.ai verify endpoint - **Mistral AI**: 32-char alphanumeric, api.mistral.ai verify endpoint - **Inflection AI**: 40+-char token, no public verify endpoint - **AI21 Labs**: 32+-char alphanumeric, api.ai21.com/studio verify endpoint All providers dual-located for Go embed.FS (pkg/providers/definitions/) and user visibility (providers/). Registry loader test passes with all 9 providers (3 existing + 6 new). ## Tasks Completed | Task | Name | Commit | Files | |------|-----------------------------------------|---------|-------| | 1 | Azure OpenAI, Meta AI, Cohere YAMLs | bca8422 | 6 | | 2 | Mistral, Inflection, AI21 YAMLs | adad602 | 6 | ## Verification - `go test ./pkg/providers/... -count=1` -- PASS (0.037s) - `diff` on all 6 provider pairs -- no drift between providers/ and pkg/providers/definitions/ - `grep -l 'tier: 1' providers/*.yaml | wc -l` -- 12 (matches Tier 1 complete criterion) ## Deviations from Plan None - plan executed exactly as written. ## Decisions Made - **Empty verify blocks for Azure OpenAI and Inflection**: Azure OpenAI requires per-deployment URL (`https://{resource}.openai.azure.com/...`) which cannot be hardcoded; Inflection lacks a stable public verify endpoint. Both use empty `url: ""` and empty status arrays to signal "verification unsupported" for Phase 5. - **Low confidence on all 6**: Generic character-class regex patterns would cause high false-positive rates without keyword anchoring, so confidence is marked `low` and the AC automaton carries the detection weight. ## Key Links - Provider `keywords[]` feeds `NewRegistry()` which builds the Aho-Corasick DFA across all providers - Aho-Corasick pre-filter gates per-pattern regex evaluation (established in Phase 01) ## Self-Check: PASSED All 12 files verified present: - providers/{azure-openai,meta-ai,cohere,mistral,inflection,ai21}.yaml -- FOUND - pkg/providers/definitions/{azure-openai,meta-ai,cohere,mistral,inflection,ai21}.yaml -- FOUND Commits verified: - bca8422 -- FOUND - adad602 -- FOUND