90 lines
3.8 KiB
Markdown
90 lines
3.8 KiB
Markdown
---
|
|
phase: 03-tier-3-9-providers
|
|
plan: 04
|
|
subsystem: providers
|
|
tags: [providers, tier-7, code-assistants, dev-tools]
|
|
requires: [pkg/providers/schema.go, pkg/providers/registry.go]
|
|
provides:
|
|
- "10 Tier 7 code/dev tools provider definitions"
|
|
- "GitHub Copilot ghu_/gho_ token detection"
|
|
- "Sourcegraph Cody sgp_ high-confidence pattern"
|
|
- "PROV-07 requirement satisfaction"
|
|
affects: [providers/, pkg/providers/definitions/]
|
|
tech-stack:
|
|
added: []
|
|
patterns: [dual-location YAML, keyword-only detection, documented-prefix regex]
|
|
key-files:
|
|
created:
|
|
- providers/github-copilot.yaml
|
|
- providers/cursor.yaml
|
|
- providers/tabnine.yaml
|
|
- providers/codeium.yaml
|
|
- providers/sourcegraph.yaml
|
|
- providers/codewhisperer.yaml
|
|
- providers/replit-ai.yaml
|
|
- providers/codestral.yaml
|
|
- providers/watsonx.yaml
|
|
- providers/oracle-ai.yaml
|
|
- pkg/providers/definitions/github-copilot.yaml
|
|
- pkg/providers/definitions/cursor.yaml
|
|
- pkg/providers/definitions/tabnine.yaml
|
|
- pkg/providers/definitions/codeium.yaml
|
|
- pkg/providers/definitions/sourcegraph.yaml
|
|
- pkg/providers/definitions/codewhisperer.yaml
|
|
- pkg/providers/definitions/replit-ai.yaml
|
|
- pkg/providers/definitions/codestral.yaml
|
|
- pkg/providers/definitions/watsonx.yaml
|
|
- pkg/providers/definitions/oracle-ai.yaml
|
|
modified: []
|
|
decisions:
|
|
- "Keyword-only detection for undocumented key formats (Cursor, Tabnine, Codeium, CodeWhisperer, Replit AI, Oracle AI) to avoid Phase-2 false-positive regression"
|
|
- "Codestral uses low-confidence generic 32-char pattern with entropy_min=4.5 per Phase-2 lesson"
|
|
- "GitHub Copilot reuses documented ghu_/gho_ GitHub token formats, disambiguated by 'copilot' keyword"
|
|
metrics:
|
|
duration: "~3 minutes"
|
|
tasks: 2
|
|
files: 20
|
|
completed: "2026-04-05"
|
|
---
|
|
|
|
# Phase 3 Plan 4: Tier 7 Code/Dev Tools Providers Summary
|
|
|
|
Added 10 Tier 7 code assistant/dev tool provider YAMLs (GitHub Copilot, Cursor, Tabnine, Codeium, Sourcegraph Cody, Amazon CodeWhisperer, Replit AI, Codestral, IBM watsonx, Oracle Generative AI) dual-located under `providers/` and `pkg/providers/definitions/`.
|
|
|
|
## Tasks Completed
|
|
|
|
| # | Name | Commit |
|
|
|---|------|--------|
|
|
| 1 | GitHub Copilot, Cursor, Tabnine, Codeium, Sourcegraph YAMLs | 9f10357 |
|
|
| 2 | CodeWhisperer, Replit AI, Codestral, watsonx, Oracle AI YAMLs | fbbb54b |
|
|
|
|
## Key Decisions
|
|
|
|
- **Lessons-from-Phase-2 applied:** Providers without distinctive prefixes (Cursor, Tabnine, Codeium, CodeWhisperer, Replit AI, Oracle AI) use keyword-only detection — no regex. This avoids Phase-2 false-positive regression on generic alphanumeric patterns.
|
|
- **Sourcegraph sgp_ pattern:** High-confidence regex for the documented `sgp_<hex>_<hex40>` format plus a medium-confidence fallback for the shorter `sgp_<hex40>` variant.
|
|
- **Codestral low-confidence regex:** The Mistral Codestral key is a 32-char alphanumeric without a distinctive prefix; entropy_min=4.5 + confidence=low + `codestral` keyword anchoring contain false positives.
|
|
- **GitHub Copilot reuses `ghu_`/`gho_` GitHub tokens:** These are real GitHub OAuth/user tokens; the `copilot` keyword disambiguates from generic GitHub tokens.
|
|
- **watsonx verification endpoint:** POST to `https://iam.cloud.ibm.com/identity/token` (IBM IAM exchange) — the actual watsonx inference endpoint needs project_id + bearer, not a plain API key.
|
|
|
|
## Verification Results
|
|
|
|
- `go test ./pkg/providers/... -count=1` — PASS
|
|
- `go test ./pkg/engine/... -count=1` — PASS
|
|
- `grep -l 'tier: 7' providers/*.yaml | wc -l` — 10
|
|
- All 10 dual-location pairs `diff`-identical
|
|
|
|
## Deviations from Plan
|
|
|
|
None — plan executed exactly as written.
|
|
|
|
## Requirements Satisfied
|
|
|
|
- PROV-07: 10 Tier 7 Code/Dev Tools providers
|
|
|
|
## Self-Check: PASSED
|
|
|
|
- All 20 YAML files exist at expected paths
|
|
- Commits 9f10357 and fbbb54b present in git log
|
|
- Tier 7 count = 10
|
|
- Provider and engine test suites green
|