Files
keyhunter/.planning/phases/03-tier-3-9-providers/03-04-SUMMARY.md

3.8 KiB

phase, plan, subsystem, tags, requires, provides, affects, tech-stack, key-files, decisions, metrics
phase plan subsystem tags requires provides affects tech-stack key-files decisions metrics
03-tier-3-9-providers 04 providers
providers
tier-7
code-assistants
dev-tools
pkg/providers/schema.go
pkg/providers/registry.go
10 Tier 7 code/dev tools provider definitions
GitHub Copilot ghu_/gho_ token detection
Sourcegraph Cody sgp_ high-confidence pattern
PROV-07 requirement satisfaction
providers/
pkg/providers/definitions/
added patterns
dual-location YAML
keyword-only detection
documented-prefix regex
created modified
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
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
duration tasks files completed
~3 minutes 2 20 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