Skip to content

Accept prompt_cache_key in Responses API requests - #3110

Merged
tisnik merged 1 commit into
lightspeed-core:release/0.7from
umago:0.7.2-backport
Nov 2, 2026
Merged

tisnik merged 1 commit into
lightspeed-core:release/0.7from
umago:0.7.2-backport

Conversation

@umago

@umago umago commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Description

Allow prompt_cache_key in the OpenAI-compatible responses request model and propagate it through internal ResponsesApiParams so it reaches OGX requests. This prevents 422 validation failures for clients that send provider prompt-cache hints.

Goose version v1.56 is sending a the prompt_cache_key parameter in the request and lightspeed-stack now handles it.

OGX already has it implemented:
ogx-ai/ogx@8b3da72

Resolves: OSPRH-39974

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library [pyproject.toml + uv.lock]
  • Bump-up dependent library [requirements.*.txt for Konflux]
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change
  • Unit tests improvement
  • Integration tests improvement
  • End to end tests improvement
  • Benchmarks improvement

Tools used to create PR

Identify any AI code assistants used in this PR (for transparency and review context)

  • Assisted-by: (e.g., Claude, CodeRabbit, Ollama, etc., N/A if not used)
  • Generated by: (e.g., tool name and version; N/A if not used)

Related Tickets & Documents

  • Closes #OSPRH-39974

Checklist before requesting a review

  • I have performed a self-review of my code.
  • PR has passed all pre-merge test jobs.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Allow prompt_cache_key in the OpenAI-compatible responses request model
and propagate it through internal ResponsesApiParams so it reaches OGX
requests. This prevents 422 validation failures for clients that send
provider prompt-cache hints.

Goose version v1.56 is sending a the prompt_cache_key parameter in the
request and lightspeed-stack now handles it.

OGX already has it implemented:
ogx-ai/ogx@8b3da72

Resolves: OSPRH-39974

Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>

@tisnik tisnik left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tisnik
tisnik merged commit 3fc133c into lightspeed-core:release/0.7 Nov 2, 2026
62 of 66 checks passed
@fullsend-ai-retro

fullsend-ai-retro Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 4:22 PM UTC · Completed 4:35 PM UTC

Commit: b9fa125 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $6.42

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #3110 — Accept prompt_cache_key in Responses API requests

Outcome: No new proposals. All findings are covered by existing open issues.

What happened

PR #3110 is a human-authored backport of PR #3052 to release/0.7, adding an optional prompt_cache_key field to the Responses API request/response models (5 files, +48/−2). It was merged in ~2.6 hours with two human approvals (jrobertboos, tisnik) and zero inline review comments.

All fullsend agent stages (Triage, Code, Review, Fix) were skipped. Only the Retro agent dispatched (on the merge event). CodeRabbit also skipped its review (disabled on non-default branches). The PR received zero automated review coverage.

Root causes (all tracked by existing issues)

  1. Non-default branch routing gap — The fullsend router reads .fullsend/config.yaml from the PR's base branch SHA via sparse checkout. Since release/0.7 has no .fullsend/ directory (it exists only on main), routing fell through with empty stage decisions. This is exactly fullsend-ai/fullsend#5684 (open), which proposes falling back to the default branch config.

  2. Retro ran unnecessarily — Despite zero prior agent involvement, the retro dispatched on the merge event. This is tracked by fullsend-ai/fullsend#6297, #7803, #8673 (all open), and fullsend-ai/agents#349 (open, proposes the pre-retro.sh early exit).

  3. Fork PR blocking — The PR originated from a fork (umago/lightspeed-stack), which triggers the fork-blocking security measure for review dispatch. Tracked by fullsend-ai/fullsend#8709 (informational comment for fork skips) and #2967 (trusted contributor allowlist).

Additional observations

  • PR title checker failed (title lacks required JIRA prefix) but the PR was still merged, suggesting release/0.7 branch protection rules don't require this check to pass. The check itself worked correctly — this is a branch protection configuration decision, not a tool failure. #3069 covers a related but distinct issue (placeholder JIRA keys).
  • Human reviews were appropriate for a backport: both reviewers had context from the original PR Accept prompt_cache_key in Responses API requests #3052, and the change (adding an optional field to three Pydantic models) is low-risk and well-scoped.

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.

3 participants