Repository navigation
RCARS v1.5.16
Claude 5.5 on LiteMaaS, Jira OAuth2, per-call LLM logging, Antora start paths
LLM models: Claude 5.5, LiteMaaS only
- New defaults:
claude-sonnet-5-5-a46bfor Showroom analysis, rationale, chat answers and OSSPA analysis.claude-haiku-5-5-a8bfor triage, chat routing, overlap and workload scans.
- LiteMaaS is the only provider. The Vertex/Anthropic fallback is removed. Direct Vertex access no longer works. If a model is not on LiteMaaS, the call fails with a clear error. It does not fall back.
- The
anthropic[vertex]dependency is removed. - Temperature: Claude 5.5 on LiteMaaS rejects
temperature. RCARS leaves it out for these models. For any other model that rejects it, RCARS retries once without it and remembers that model. - Status page: the LLM Provider card shows the active provider (LiteMaaS), its models, and one row for each LLM use.
Every LLM call is logged with its model
- Each LLM call writes one log line:
llm_call_complete(info):model,provider,input_tokens,output_tokens,elapsed_msllm_call_failed(warning):model,provider,elapsed_ms,error
- This covers chat routing, triage, rationale, synthesis and scans. Before this release, only synthesis logged its model.
- Known gap: these lines do not carry
job_idyet. The PR text for #199 says they do, but that is wrong. Tracked in RHDPCD-2229.
Jira: OAuth2 client credentials
- Retirement ticketing now uses an OAuth2 service account (
rhdp-automation-jira-sa) instead of a personal API token. The token expired often and had to be rotated by hand. - Calls go to
api.atlassian.com/ex/jira/{cloud_id}with a Bearer token. A token is fetched only when a Jira call needs one, and is reused until 60 seconds before it expires. - The retirement sweep and the nightly Jira step run when OAuth2 is configured.
Showroom: Antora start paths in content_path
content_pathcan now be an Antora start path, such asdocumentation. If<content_path>/modules/ROOT/pagesexists, the scanner reads pages from there and findsnav.adocone level up. This matches how the defaultcontentpath already works.- Existing overrides that point straight at a pages folder, such as
docs/labs/, still work. nav.adocparsing now skips AsciiDoc block comments (////). Before, xrefs inside a block comment counted as active pages.- Before this fix, Showrooms with a start path other than
contentfailed withno_content.
Deploy
- Full deploy (
--tags full). The API and the frontend both changed. - No schema change.
- Ansible vars, set before you deploy:
rcars_jira_client_id,rcars_jira_client_secret,rcars_jira_cloud_id. The oldrcars_jira_api_emailandrcars_jira_api_tokenare no longer used.- Vertex vars (
vertex_enabled,vertex_region,vertex_credentials_path) are no longer read. You can remove them. - See
ansible/vars/prod.yml.example.
- Clean up after the deploy. Ansible does not delete secrets that the templates no longer create. When Jira works on the new release, delete these:
rcars-jira(old Jira API token)rcars-vertex-credentials(if present)
4 PRs · #195 · #196 · #198 · #199
Jira: RHDPCD-2226 · RHDPCD-2227 · RHDPCD-74
Full diff: v1.5.15...v1.5.16