12 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 03-tier-3-9-providers | 07 | execute | 1 |
|
true |
|
|
Purpose: Satisfy PROV-06 (15 Tier 6 Emerging/Niche providers).
Output: 30 YAML files.
Addresses PROV-06.
<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/03-tier-3-9-providers/03-CONTEXT.md @pkg/providers/schema.go Dual-location required. Several providers in this group have documented prefixes (LangSmith lsv2_, Pinecone pcsk_, W&B 40-hex). Others use keyword-only. Task 1: Emerging labs + writing tools (Reka, Aleph Alpha, Lamini, Writer, Jasper, Typeface, Comet, W&B) providers/reka.yaml, providers/aleph-alpha.yaml, providers/lamini.yaml, providers/writer.yaml, providers/jasper.yaml, providers/typeface.yaml, providers/comet.yaml, providers/wandb.yaml, pkg/providers/definitions/reka.yaml, pkg/providers/definitions/aleph-alpha.yaml, pkg/providers/definitions/lamini.yaml, pkg/providers/definitions/writer.yaml, pkg/providers/definitions/jasper.yaml, pkg/providers/definitions/typeface.yaml, pkg/providers/definitions/comet.yaml, pkg/providers/definitions/wandb.yaml - pkg/providers/schema.go providers/reka.yaml:format_version: 1
name: reka
display_name: Reka AI
tier: 6
last_verified: "2026-04-05"
keywords:
- "reka"
- "REKA_API_KEY"
- "api.reka.ai"
- "reka-core"
- "reka-flash"
verify:
method: GET
url: https://api.reka.ai/v1/models
headers:
X-Api-Key: "{KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/aleph-alpha.yaml:
format_version: 1
name: aleph-alpha
display_name: Aleph Alpha
tier: 6
last_verified: "2026-04-05"
keywords:
- "aleph-alpha"
- "aleph_alpha"
- "ALEPH_ALPHA_API_KEY"
- "AA_TOKEN"
- "api.aleph-alpha.com"
- "luminous"
verify:
method: GET
url: https://api.aleph-alpha.com/models_available
headers:
Authorization: "Bearer {KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/lamini.yaml:
format_version: 1
name: lamini
display_name: Lamini
tier: 6
last_verified: "2026-04-05"
keywords:
- "lamini"
- "LAMINI_API_KEY"
- "api.lamini.ai"
- "lamini.ai"
verify:
method: GET
url: https://api.lamini.ai/v1/models
headers:
Authorization: "Bearer {KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/writer.yaml:
format_version: 1
name: writer
display_name: Writer
tier: 6
last_verified: "2026-04-05"
keywords:
- "writer.com"
- "WRITER_API_KEY"
- "api.writer.com"
- "palmyra"
verify:
method: GET
url: https://api.writer.com/v1/models
headers:
Authorization: "Bearer {KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/jasper.yaml:
format_version: 1
name: jasper
display_name: Jasper AI
tier: 6
last_verified: "2026-04-05"
keywords:
- "jasper.ai"
- "JASPER_API_KEY"
- "api.jasper.ai"
- "jasper-ai"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/typeface.yaml:
format_version: 1
name: typeface
display_name: Typeface
tier: 6
last_verified: "2026-04-05"
keywords:
- "typeface"
- "typeface.ai"
- "TYPEFACE_API_KEY"
- "typeface-app"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/comet.yaml:
format_version: 1
name: comet
display_name: Comet ML / Opik
tier: 6
last_verified: "2026-04-05"
keywords:
- "comet_ml"
- "comet-ml"
- "COMET_API_KEY"
- "COMET_WORKSPACE"
- "opik"
- "comet.com"
verify:
method: GET
url: https://www.comet.com/api/rest/v2/workspaces
headers:
Authorization: "{KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/wandb.yaml:
format_version: 1
name: wandb
display_name: Weights & Biases
tier: 6
last_verified: "2026-04-05"
keywords:
- "wandb"
- "weights_and_biases"
- "WANDB_API_KEY"
- "api.wandb.ai"
- "wandb.ai"
patterns:
- regex: '[a-f0-9]{40}'
entropy_min: 3.5
confidence: low
verify:
method: GET
url: https://api.wandb.ai/graphql
headers:
Authorization: "Basic {KEY}"
valid_status: [200, 400]
invalid_status: [401, 403]
Copy all 8 files verbatim to pkg/providers/definitions/.
cd /home/salva/Documents/apikey && for f in reka aleph-alpha lamini writer jasper typeface comet wandb; do diff providers/$f.yaml pkg/providers/definitions/$f.yaml || exit 1; done && go test ./pkg/providers/... -count=1 && go test ./pkg/engine/... -count=1
<acceptance_criteria>
- All 16 files exist
- grep -q 'luminous' providers/aleph-alpha.yaml
- grep -q 'palmyra' providers/writer.yaml
- grep -q 'WANDB_API_KEY' providers/wandb.yaml
- go test ./pkg/providers/... -count=1 passes
</acceptance_criteria>
8 emerging/writing/observability providers dual-located.
format_version: 1
name: langsmith
display_name: LangSmith (LangChain)
tier: 6
last_verified: "2026-04-05"
keywords:
- "langsmith"
- "langchain"
- "LANGCHAIN_API_KEY"
- "LANGSMITH_API_KEY"
- "LANGCHAIN_TRACING_V2"
- "api.smith.langchain.com"
- "lsv2_"
patterns:
- regex: 'lsv2_(pt|sk)_[a-f0-9]{32}_[a-f0-9]{10}'
entropy_min: 4.0
confidence: high
verify:
method: GET
url: https://api.smith.langchain.com/info
headers:
X-API-Key: "{KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/pinecone.yaml:
format_version: 1
name: pinecone
display_name: Pinecone
tier: 6
last_verified: "2026-04-05"
keywords:
- "pinecone"
- "PINECONE_API_KEY"
- "PINECONE_ENVIRONMENT"
- "api.pinecone.io"
- "pinecone.io"
- "pcsk_"
patterns:
- regex: 'pcsk_[A-Za-z0-9]{40,}'
entropy_min: 4.0
confidence: high
verify:
method: GET
url: https://api.pinecone.io/indexes
headers:
Api-Key: "{KEY}"
valid_status: [200]
invalid_status: [401, 403]
providers/weaviate.yaml:
format_version: 1
name: weaviate
display_name: Weaviate
tier: 6
last_verified: "2026-04-05"
keywords:
- "weaviate"
- "WEAVIATE_API_KEY"
- "WEAVIATE_URL"
- "weaviate.io"
- "wcs.api"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/qdrant.yaml:
format_version: 1
name: qdrant
display_name: Qdrant
tier: 6
last_verified: "2026-04-05"
keywords:
- "qdrant"
- "QDRANT_API_KEY"
- "QDRANT_URL"
- "qdrant.tech"
- "cloud.qdrant.io"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/chroma.yaml:
format_version: 1
name: chroma
display_name: Chroma
tier: 6
last_verified: "2026-04-05"
keywords:
- "chromadb"
- "chroma-client"
- "CHROMA_API_KEY"
- "CHROMA_HOST"
- "trychroma.com"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/milvus.yaml:
format_version: 1
name: milvus
display_name: Milvus / Zilliz
tier: 6
last_verified: "2026-04-05"
keywords:
- "milvus"
- "zilliz"
- "ZILLIZ_API_KEY"
- "MILVUS_TOKEN"
- "zilliz.com"
- "api.cloud.zilliz.com"
verify:
method: GET
url: ""
headers: {}
valid_status: []
invalid_status: []
providers/neon.yaml:
format_version: 1
name: neon
display_name: Neon (Serverless Postgres + pgvector)
tier: 6
last_verified: "2026-04-05"
keywords:
- "neon-db"
- "neondb"
- "NEON_API_KEY"
- "NEON_CONNECTION_STRING"
- "console.neon.tech"
- "pg.neon.tech"
verify:
method: GET
url: https://console.neon.tech/api/v2/projects
headers:
Authorization: "Bearer {KEY}"
valid_status: [200]
invalid_status: [401, 403]
Copy all 7 files verbatim to pkg/providers/definitions/.
cd /home/salva/Documents/apikey && for f in langsmith pinecone weaviate qdrant chroma milvus neon; do diff providers/$f.yaml pkg/providers/definitions/$f.yaml || exit 1; done && go test ./pkg/providers/... -count=1 && go test ./pkg/engine/... -count=1 && test $(grep -l 'tier: 6' providers/*.yaml | wc -l) -eq 15
<acceptance_criteria>
- All 14 files exist
- grep -q 'lsv2_' providers/langsmith.yaml
- grep -q 'pcsk_' providers/pinecone.yaml
- grep -q 'zilliz' providers/milvus.yaml
- Total Tier 6 count = 15
- go test ./pkg/providers/... -count=1 passes
- go test ./pkg/engine/... -count=1 passes
</acceptance_criteria>
All 15 Tier 6 emerging/niche providers dual-located. PROV-06 satisfied.
<success_criteria>
- 15 Tier 6 providers created
- LangSmith lsv2_ and Pinecone pcsk_ use high-confidence regex
- Vector DB env vars captured
- No engine regression </success_criteria>