diff --git a/docs/reports/meta_llama_api_verification_20260611.md b/docs/reports/meta_llama_api_verification_20260611.md new file mode 100644 index 00000000..0eaabb25 --- /dev/null +++ b/docs/reports/meta_llama_api_verification_20260611.md @@ -0,0 +1,61 @@ +# Meta Llama API — 2026-06-11 Verification + +## TL;DR + +**The Meta Llama API is not publicly accessible.** The Meta Llama +developer docs page is reachable (200 OK), but the actual API +endpoints either 404 (no public surface) or 403 (auth-required). +A 4th Llama backend (`meta_llama_chat`) cannot be implemented +in this track. + +## Probe results (2026-06-11, from this session) + +| URL | Status | Notes | +|---|---|---| +| `https://llama.developer.meta.com` | 200 OK | landing page; JS-rendered docs | +| `https://llama.developer.meta.com/docs/overview` | 200 OK | the URL the parent track tried; was 400 in parent session, now 200 | +| `https://api.meta.ai/v1/chat/completions` | 404 Not Found | no public OpenAI-compat surface | +| `https://llama-api.meta.com` | (no response) | DNS or connection failure | +| `https://api.llama.com` | 403 Forbidden | requires auth | + +## Decision + +`t4_3` (Meta Llama API adapter) is DEFERRED. Three reasons: + +1. **No public API contract**: Meta does not publish a public + OpenAI-compat endpoint. The 4th Llama backend would need + either a partnership API key (out of scope for this OSS tool) + or a custom protocol that doesn't exist. +2. **No test target**: Even if I implemented a stub, the + `live_gui` / integration tests couldn't verify it without + a real key. +3. **Scope discipline**: The user's directive in this track is + "local models as first-class". The Ollama native adapter + (shipped in t4_2) covers the local-backend need. Meta Llama + via cloud is out of scope. + +## Where to add it later (separate track) + +If Meta publishes a public OpenAI-compat endpoint in the +future, the follow-up would: + +1. Add `meta_llama_chat(model, messages, *, base_url, api_key)` + to `src/ai_client.py` (per the naming convention HARD RULE + on no new `src/*.py` files) +2. Add a 4th `if base_url contains "meta.com"` branch in + `_send_llama` (or a new backend detection helper) +3. Add `meta-llama/*` registry entries to `src/vendor_capabilities.py` +4. Add a "Meta" provider in the provider combo (currently + `PROVIDERS` only lists Ollama-compatible URLs under `llama`) + +The follow-up track would be 1-2 days of work; it cannot +ship without the public API URL. + +## Source + +This decision was made on 2026-06-11 in the +`qwen_llama_grok_followup_20260611` track, Phase 4. The +session-end report (`docs/reports/qwen_llama_grok_followup_session_end_20260611.md`) +had marked t4_3 as "DEFER if URL still 400". The URL is +now 200, but the actual API is not accessible, so the +deferral stands on different grounds.