Files
keyhunter/.planning/phases/02-tier-1-2-providers/02-04-PLAN.md
2026-04-05 14:08:04 +03:00

8.1 KiB

phase, plan, type, wave, depends_on, files_modified, autonomous, requirements, must_haves
phase plan type wave depends_on files_modified autonomous requirements must_haves
02-tier-1-2-providers 04 execute 1
providers/lepton.yaml
providers/modal.yaml
providers/cerebrium.yaml
providers/novita.yaml
providers/sambanova.yaml
providers/octoai.yaml
providers/friendli.yaml
pkg/providers/definitions/lepton.yaml
pkg/providers/definitions/modal.yaml
pkg/providers/definitions/cerebrium.yaml
pkg/providers/definitions/novita.yaml
pkg/providers/definitions/sambanova.yaml
pkg/providers/definitions/octoai.yaml
pkg/providers/definitions/friendli.yaml
true
PROV-02
truths artifacts key_links
Registry loads final 7 Tier 2 inference platform providers
All 14 Tier 2 providers from PROV-02 are defined after this plan
Generic-format providers use strong keyword lists for AC pre-filtering
path provides contains
providers/modal.yaml Modal token_id/token_secret keyword anchors MODAL_TOKEN
path provides contains
providers/sambanova.yaml SambaNova keyword-anchored pattern sambanova
path provides contains
providers/novita.yaml NovitaAI keyword-anchored pattern novita
from to via pattern
keywords[] Aho-Corasick pre-filter NewRegistry keywords
Create the remaining 7 Tier 2 inference platform provider YAMLs: Lepton AI, Modal, Cerebrium, NovitaAI, SambaNova, OctoAI, Friendli. All are generic-format providers requiring strong keyword lists.

Purpose: Complete PROV-02 (14/14 Tier 2 providers).

Output: 14 YAML files (7 providers x 2 locations).

Addresses PROV-02 requirement.

<execution_context> @$HOME/.claude/get-shit-done/workflows/execute-plan.md @$HOME/.claude/get-shit-done/templates/summary.md </execution_context>

@.planning/ROADMAP.md @.planning/phases/02-tier-1-2-providers/02-RESEARCH.md @pkg/providers/schema.go Schema: pkg/providers/schema.go. Dual-location required. Go RE2 regex only. All providers in this plan: tier 2, confidence low (no distinctive prefix). Task 1: Lepton, Modal, Cerebrium, Novita YAMLs providers/lepton.yaml, providers/modal.yaml, providers/cerebrium.yaml, providers/novita.yaml, pkg/providers/definitions/lepton.yaml, pkg/providers/definitions/modal.yaml, pkg/providers/definitions/cerebrium.yaml, pkg/providers/definitions/novita.yaml - pkg/providers/schema.go - .planning/phases/02-tier-1-2-providers/02-RESEARCH.md sections "7. Lepton", "8. Modal", "10. Cerebrium", "11. NovitaAI" Create providers/lepton.yaml:
format_version: 1
name: lepton
display_name: Lepton AI (DGX Cloud Lepton)
tier: 2
last_verified: "2026-04-05"
keywords:
  - "lepton"
  - "lepton.ai"
  - "LEPTON_API_TOKEN"
  - "dgx-cloud-lepton"
patterns:
  - regex: '[A-Za-z0-9]{32,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: ""
  headers: {}
  valid_status: []
  invalid_status: []

Create providers/modal.yaml:

format_version: 1
name: modal
display_name: Modal
tier: 2
last_verified: "2026-04-05"
keywords:
  - "modal"
  - "modal.com"
  - "MODAL_TOKEN_ID"
  - "MODAL_TOKEN_SECRET"
  - "ak-"
  - "as-"
patterns:
  - regex: 'ak-[A-Za-z0-9]{20,}'
    entropy_min: 3.5
    confidence: medium
  - regex: 'as-[A-Za-z0-9]{20,}'
    entropy_min: 3.5
    confidence: medium
verify:
  method: GET
  url: ""
  headers: {}
  valid_status: []
  invalid_status: []

Create providers/cerebrium.yaml:

format_version: 1
name: cerebrium
display_name: Cerebrium
tier: 2
last_verified: "2026-04-05"
keywords:
  - "cerebrium"
  - "cerebrium.ai"
  - "CEREBRIUM_API_KEY"
  - "api.cortex.cerebrium.ai"
patterns:
  - regex: '[A-Za-z0-9]{32,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: ""
  headers: {}
  valid_status: []
  invalid_status: []

Create providers/novita.yaml:

format_version: 1
name: novita
display_name: NovitaAI
tier: 2
last_verified: "2026-04-05"
keywords:
  - "novita"
  - "novita.ai"
  - "NOVITA_API_KEY"
  - "api.novita.ai"
patterns:
  - regex: '[A-Za-z0-9_\-]{32,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: https://api.novita.ai/v3/openai/models
  headers:
    Authorization: "Bearer {KEY}"
  valid_status: [200]
  invalid_status: [401, 403]

Copy all four VERBATIM to pkg/providers/definitions/. cd /home/salva/Documents/apikey && for f in lepton modal cerebrium novita; do diff providers/$f.yaml pkg/providers/definitions/$f.yaml || exit 1; done && go test ./pkg/providers/... -count=1 <acceptance_criteria> - All 8 files exist - grep -q 'MODAL_TOKEN_ID' providers/modal.yaml - grep -q 'cerebrium.ai' providers/cerebrium.yaml - grep -q 'api.novita.ai' providers/novita.yaml - grep -q 'lepton.ai' providers/lepton.yaml - All dual-location diffs empty - go test ./pkg/providers/... -count=1 passes </acceptance_criteria> 4 providers created and dual-located.

Task 2: SambaNova, OctoAI, Friendli YAMLs providers/sambanova.yaml, providers/octoai.yaml, providers/friendli.yaml, pkg/providers/definitions/sambanova.yaml, pkg/providers/definitions/octoai.yaml, pkg/providers/definitions/friendli.yaml - pkg/providers/schema.go - .planning/phases/02-tier-1-2-providers/02-RESEARCH.md sections "12. SambaNova", "13. OctoAI", "14. Friendli" Create providers/sambanova.yaml:
format_version: 1
name: sambanova
display_name: SambaNova
tier: 2
last_verified: "2026-04-05"
keywords:
  - "sambanova"
  - "sambanova.ai"
  - "SAMBANOVA_API_KEY"
  - "sambastudio"
  - "api.sambanova.ai"
patterns:
  - regex: '[a-f0-9\-]{36}'
    entropy_min: 3.5
    confidence: low
  - regex: '[A-Za-z0-9]{40,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: https://api.sambanova.ai/v1/models
  headers:
    Authorization: "Bearer {KEY}"
  valid_status: [200]
  invalid_status: [401, 403]

Create providers/octoai.yaml:

format_version: 1
name: octoai
display_name: OctoAI
tier: 2
last_verified: "2026-04-05"
keywords:
  - "octoai"
  - "octo.ai"
  - "OCTOAI_TOKEN"
  - "OCTOAI_API_KEY"
patterns:
  - regex: '[A-Za-z0-9\-_\.]{40,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: ""
  headers: {}
  valid_status: []
  invalid_status: []

Create providers/friendli.yaml:

format_version: 1
name: friendli
display_name: Friendli
tier: 2
last_verified: "2026-04-05"
keywords:
  - "friendli"
  - "friendli.ai"
  - "FRIENDLI_TOKEN"
  - "flp_"
patterns:
  - regex: 'flp_[A-Za-z0-9]{20,}'
    entropy_min: 3.5
    confidence: medium
  - regex: '[A-Za-z0-9]{32,}'
    entropy_min: 4.0
    confidence: low
verify:
  method: GET
  url: ""
  headers: {}
  valid_status: []
  invalid_status: []

Copy all three VERBATIM to pkg/providers/definitions/. cd /home/salva/Documents/apikey && for f in sambanova octoai friendli; do diff providers/$f.yaml pkg/providers/definitions/$f.yaml || exit 1; done && go test ./pkg/providers/... -count=1 <acceptance_criteria> - All 6 files exist - grep -q 'sambanova' providers/sambanova.yaml - grep -q 'octo.ai' providers/octoai.yaml - grep -q 'FRIENDLI_TOKEN' providers/friendli.yaml - All dual-location diffs empty - go test ./pkg/providers/... -count=1 passes - After this task: ls pkg/providers/definitions/*.yaml | wc -l >= 27 (huggingface + 26 tier1/2) </acceptance_criteria> Final 3 Tier 2 providers created. All 14 PROV-02 providers complete.

After plan: `grep -l 'tier: 2' providers/*.yaml | wc -l` equals 14.

<success_criteria>

  • 7 generic-format Tier 2 providers created
  • Dual-location verified
  • Registry loads cleanly
  • Tier 2 total = 14 providers </success_criteria>
After completion, create `.planning/phases/02-tier-1-2-providers/02-04-SUMMARY.md`