Skip to content

feat(llm): ddcdragon provider — makes CEF QA actually run on the new layout - #7

Open
jaxter03 wants to merge 1 commit into
feat/cef-tools-client-portfrom
feat/ddcdragon-llm-provider
Open

feat(llm): ddcdragon provider — makes CEF QA actually run on the new layout#7
jaxter03 wants to merge 1 commit into
feat/cef-tools-client-portfrom
feat/ddcdragon-llm-provider

Conversation

@jaxter03

Copy link
Copy Markdown
Collaborator

Companion to the CEF agent-QA port (#5). opensre cef-qa runs its investigation on the DDC inference gateway (LLM_PROVIDER=ddcdragon, keyless OSS gemma4_31b). That provider existed on the old branch but was never ported — so on the new layout cef-qa died with Unsupported LLM provider 'ddcdragon'. This live-caught gap is what a real end-to-end run surfaced.

What lands

Per core/llm/AGENTS.md "Adding a Hosted API Provider" (custom SDK client — bespoke {model:{bucket,name,version}, input}{output:{text,tool_calls}} envelope, not OpenAI-wire/LiteLLM):

  • DdcDragonLLMClient / DdcDragonAgentClient in core/llm/transports/sdk/* (override transport, reuse OpenAI message/tool machinery)
  • construction branches in core/llm/client_builders.py
  • config/config.py literal + DDCDRAGON_* settings + DDCDRAGON_LLM_CONFIG; ProviderSpec (credential_kind=ambient, keyless) + wizard ProviderOption + env_sync non-secret keys
  • docs/llm-providers.mdx row; tests/core/runtime/llm/test_ddcdragon_provider.py

Validation (live, not mocked)

  • make typecheck clean (1489 files); 7 provider unit tests + 107 regression (builders/factory/wizard/catalog) pass; ruff clean.
  • Live gateway smoke from the ported client → returns OK.
  • get_llm(AGENT) with LLM_PROVIDER=ddcdragon resolves to DdcDragonAgentClient (gemma4_31b), no error.
  • Full opensre cef-qa end-to-end on the new layout: drives ddcdragon LLM → CEF tools → vault/grafana → grounded verdict + report. (Verified no_go correctly diagnosed stale test creds — the QA detecting a real failure, exactly as designed.)

Base = the CEF-port branch (#5) so the diff is ddcdragon-only; retarget to main once #5 merges. Together, #5 + this make CEF QA functional on main.

🤖 Generated with Claude Code

The CEF hiring-coach QA runs its investigation on the DDC inference gateway
(LLM_PROVIDER=ddcdragon, OSS gemma4_31b, keyless). That provider existed on the
old branch but was never ported to the new layout, so opensre cef-qa failed with
'Unsupported LLM provider ddcdragon'.

Adds it per core/llm/AGENTS.md (custom SDK client — bespoke {model,input} ->
{output:{text,tool_calls}} envelope, not OpenAI-wire/LiteLLM):
- DdcDragonLLMClient / DdcDragonAgentClient in core/llm/transports/sdk/*
- construction branches in client_builders.py
- config literal + DDCDRAGON_* settings + ProviderSpec (credential_kind=ambient,
  keyless) + wizard option + env_sync non-secret keys
- docs/llm-providers.mdx row; tests/core/runtime/llm/test_ddcdragon_provider.py

Validated live: the ported client returns 'OK' from the gateway; get_llm(AGENT)
resolves to DdcDragonAgentClient; opensre cef-qa runs the full investigation
end-to-end on gemma4_31b (grounded verdict + report).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PkNM3j2VZmxijQsWFZMPiy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant