Skip to content

RCARS v1.5.16

Choose a tag to compare

@stencell stencell released this 04 Nov 08:51
· 2 commits to main since this release
d743eec

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-a46b for Showroom analysis, rationale, chat answers and OSSPA analysis.
    • claude-haiku-5-5-a8b for 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_ms
    • llm_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_id yet. 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_path can now be an Antora start path, such as documentation. If <content_path>/modules/ROOT/pages exists, the scanner reads pages from there and finds nav.adoc one level up. This matches how the default content path already works.
  • Existing overrides that point straight at a pages folder, such as docs/labs/, still work.
  • nav.adoc parsing 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 content failed with no_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 old rcars_jira_api_email and rcars_jira_api_token are 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