EPIC: Live Docker end-to-end CI and provider compatibility #185
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/a0-symbolics#185
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #1
Goal
Make CI prove that the real Dockerized
a0-symbolicsproduct works end-to-end, including Agent Zero startup, the single Prolog-RLM integration, prompt/context compilation, the actual model transport, OpenRouter, native tool schemas, and a completed live agent turn.Unit tests and direct Python bridge calls remain useful but are not sufficient release evidence.
Current failure this epic must catch
A real OpenRouter/Z.AI request currently fails with:
The Responses transport can synthesize
tool_choice: requiredwhen function tools are present. Provider-specific semantics must be normalized before dispatch so Z.AI/OpenRouter receivesautowhere required. The live test must reproduce and prevent this class of integration failure.Live CI contract
CI must build the same Docker image path used by Symbolics development/production and start the real service. The test then exercises the externally reachable application rather than importing plugin bridge classes directly.
Required path:
DockerfileLocalor the exact production-equivalent Symbolics image;Secrets and variables
Required GitHub Actions secret:
OPENROUTER_API_KEYNon-secret repository variable:
SYMBOLICS_LIVE_MODEL— live CI model override. Keep a cheap known-good default in workflow/config when unset.No other provider credential should be required for the default live gate.
Test tiers
Pull-request gate
Main/release gate
Runtime assertions
tool_choiceis legal for the selected model/provider.Failure enumeration artifact
Every failed live run should capture enough evidence to enumerate problems quickly:
docker compose psNever upload API keys, auth cookies, passwords, or secret values.
Acceptance
tool_choicecompatibility is covered by a regression.Local developer command target
Provide one canonical command, ideally something equivalent to:
The script should build/start/test/diagnose/clean up itself so local and CI behavior do not drift.
Mirrored from
lost-rob0t/a0-symbolics#58via tracker sync.