# 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.
