Skip to content

Release/0.7 - #2897

Closed
tisnik wants to merge 73 commits into
mainfrom
release/0.7
Closed

tisnik wants to merge 73 commits into
mainfrom
release/0.7

Conversation

@tisnik

@tisnik tisnik commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Description

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

  • Related Issue #
  • Closes #

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.

tisnik and others added 30 commits August 3, 2026 16:38
Bump version to 0.7.0rc1
Fixed 1 file(s) based on 1 unresolved review comment.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
LCORE-2945: regenerated openapi schema
LCORE-3396: (for release/0.7) fix token usage in query
…anch

LCORE-2277: Point the Tekton pipeline triggers to the release/0.7 branch [release/0.7]
LCORE-2953: updated supported versions
its broken and should not be used.

fixed .konflux/requirements
LCORE-2944: Bump CLA version to 0.7.0rc1
Fix Konflux Issues [release/0.7]
…rc1-ec-violations

LCORE-2934: Lightspeed Core 0.7.0rc1 - resolve EC violations [release/0.7]
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
LCORE-3523: Lightspeed Core 0.7.0rc2 RPM CVEs
…se/0.7/quay.io-redhat-developer-mapt-0.x

Update quay.io/redhat-developer/mapt Docker tag to v0.14.4
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
tisnik and others added 28 commits September 16, 2026 18:59
LCORE-3994: Deprecate Solr vector provider in LCORE 0.7
LCORE-4167: Merge `main` into `release/0.7`
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
LCORE-3694 moved the removal of the legacy two-file configuration
(ogx.library_client_config_path plus an external run.yaml) from 0.7 to
0.8, and the startup warning in src/lightspeed_stack.py says 0.8. Three
user-facing places still said 0.7, so the 0.7.0 release would tell users
the legacy path is already gone while it keeps working:

- README.md, the deprecation warning box
- docs/user_doc/deployment_guide.md, the "Do nothing" row of the
  migration paths table
- examples/lightspeed-stack-lls-library.yaml, the comment above
  ogx.config

The spike document keeps its 0.7 wording: it records the schedule as it
was decided at the time.
The first commit on this branch corrected three user-facing statements
that the legacy two-file configuration is removed in release 0.7. Four
more statements were missed because the release number sits on a
different line than the word 'removed', so a single-line search did not
find them:

- README.md: comment in the library-mode container example
- docs/user_doc/deployment_guide.md: 'Configuration modes' list
- docs/user_doc/deployment_guide.md: 'Deprecation schedule' paragraph
- docs/user_doc/deployment_guide.md: warning box in the library-mode
  container section

All four now say 0.8, which matches the startup deprecation warning in
src/lightspeed_stack.py, the library_client_config_path field
description in src/models/config.py and the design document.

Documentation only; no code or behaviour change.
…ion notes

The three YAML blocks that illustrate the llama_stack -> ogx key rename
carried 'config: profile: default'. 'profile' is a path to a
run.yaml-shaped file; 'default' is a value of 'baseline', not of
'profile'. A reader copying the block would get a lookup for a file
named 'default' at synthesis time.

The section is about the key rename only, so the config block is
removed from all three examples.
The startup deprecation warning for the built-in OpenAI provider in
'baseline: default' tells operators to set 'baseline: byo-llm' and to
declare their LLM providers under 'inference.providers'. Neither was
shown anywhere in the user documentation or in examples/.

- deployment_guide.md: new section 'High-level inference providers'
  with a working snippet, a table of the three baseline values and the
  deprecation notice (deprecated in 0.7, removed in 0.8).
- examples/lightspeed-stack-unified-byo-llm.yaml: a complete
  single-file configuration that needs no run.yaml.

The example was loaded with 'lightspeed_stack.py --dump-configuration'
and synthesized with 'ogx_configuration.py'; both succeed and no
deprecation warning is logged.
These examples used the deprecated library_client_config_path and
logged the deprecation warning at startup:

- lightspeed-stack-a2a-state-pg.yaml
- lightspeed-stack-a2a-state-sqlite.yaml
- lightspeed-stack-azure-entraid-lib.yaml
- lightspeed-stack-conversation-cache-pg.yaml
- lightspeed-stack-conversation-cache-sqlite.yaml
- lightspeed-stack-skills.yaml

They now reference the same run.yaml as the synthesis profile through
ogx.config.profile.

The Azure example pointed at 'examples/azure-run.yaml'. A profile path
resolves against the directory of the configuration file, not the
working directory, so it is now 'azure-run.yaml'.

Each file was synthesized with ogx_configuration.py. The two a2a
examples still fail to load for an unrelated, pre-existing reason: they
reference agent_card.yaml, which is not shipped in examples/.
… code

The design document had drifted from what was merged:

- Synthesis inputs: a non-empty vector_store.providers also counts as a
  synthesis input (since the top-level vector store configuration was
  added); R3, R11, 'Trigger mechanism' and 'Mode detection' now say so.
- Server mode: the entrypoint writes /tmp/generated-run.yaml, not
  /opt/app-root/run.yaml, and passes -i for the legacy input.
- Synthesis steps: the documented order had enrichment before the
  high-level sections and the native_override merge. The implemented
  order, since LCORE-3370, is baseline, dedupe, high-level inference,
  MCP tool runtime (skipped for the empty baseline), native_override,
  enrichment, dedupe. The step list and the architecture diagram are
  corrected, and the byo-llm baseline is named in the diagram.
- tests/e2e/features/steps/unified_mode.py: the module docstring said
  five unified-mode feature files; there are four.

Not changed: the 'Acceptance test surface' table still names e2e for
some requirements that are verified at the integration level.
The example used the deprecated library_client_config_path and logged
the deprecation warning at startup. It now references run.yaml as the
synthesis profile through ogx.config.profile.
…se-0.7

LCORE-4229: say the legacy two-file configuration is removed in 0.8 (backport to 0.7)
Backport of #2791 from main.

A compaction summarizes the older turns and keeps the most recent ones
verbatim (buffer_turns). The summary marker is appended to the end of
the conversation, so it lands after those kept turns, while every later
request rebuilt its context as "summaries + items following the last
marker". The kept turns sit before the marker and are in no summary, so
from the next request on the model never saw them again.

Each marker now records how many leading conversation items its summary
covers ("[lightspeed:compaction-summary] [covers:2] <text>") and the
boundary comes from that count instead of the marker's position. Marker
items are filtered out of the recent turns explicitly. Markers already
written carry no count and keep the old behavior, so conversations
created before this are unaffected.

Scope differs from main: the integration tests and the e2e scenario the
original carries do not exist on this branch (LCORE-1574 and the
compaction feature file landed after the branch was cut), so this
backport is the fix plus its unit tests.
…(backport to 0.7)

Backport of #2794 from main.

Compaction writes each summary into the conversation as a synthetic user
message carrying the [lightspeed:compaction-summary] sentinel. Nothing
filtered those on the way back, so GET /v1/conversations/{id} returned
them as though the user had typed them: a UI rendering the history shows
an internal string attributed to the user, and consumers counting
messages or replaying history include a message nobody sent.

The conversations API now drops marker items on read. Storage is
untouched, because the markers remain the fallback source of truth for
deployments without a persisting cache.

Scope differs from main: the e2e scenario and the integration tests the
original carries do not exist on this branch (they landed after the
branch was cut), so this backport is the fix plus its unit tests.

Stacked on the LCORE-4219 backport, which touches the same module.
LCORE-3909: leave compaction markers out of the conversation history (backport to 0.7)
…tion-markers-conversations-api"

This reverts commit a593390, reversing
changes made to 2290d5a.
…d-docs-examples"

This reverts commit ae1a238, reversing
changes made to ada115c.
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
EaaS is deprecated and being replaced by OpenShift-CI.

Increase AWS instance size to avoid InsufficientMemory errors when
deploying test resources.

Assisted-by: Codex GPT-5.6


(cherry picked from commit 267a24f)

Signed-off-by: amisstea <amisstea@redhat.com>
Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
@tisnik tisnik closed this Oct 12, 2026
@coderabbitai

coderabbitai Bot commented Oct 12, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Repository: lightspeed-core/lightspeed-stack/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: cbab2578-d52a-46bd-b66c-3e0b9bd9140c

📥 Commits

Reviewing files that changed from the base of the PR and between 881ffe7 and 98e700e.


📒 Files selected for processing (36)
  • .konflux/profiles.toml
  • .konflux/redhat.repo
  • .tekton/integration-tests/pipeline/lightspeed-stack-integration-test.yaml
  • .tekton/integration-tests/pipeline/lightspeed-stack-rhelai-test.yaml
  • .tekton/lightspeed-stack-0-7-pull-request.yaml
  • .tekton/lightspeed-stack-0-7-push.yaml
  • deploy/lightspeed-stack/Containerfile
  • docs/design/conversation-compaction/conversation-compaction.md
  • docs/design/ogx-config-merge/ogx-config-merge.md
  • docs/devel_doc/container_orchestration.md
  • docs/devel_doc/openapi.json
  • docs/migrations/v0.7.0.md
  • docs/user_doc/conversation_compaction.md
  • docs/user_doc/deployment_guide.md
  • docs/user_doc/okp_guide.md
  • docs/user_doc/rag_guide.md
  • examples/lightspeed-stack-a2a-state-pg.yaml
  • examples/lightspeed-stack-a2a-state-sqlite.yaml
  • examples/lightspeed-stack-azure-entraid-lib.yaml
  • examples/lightspeed-stack-byok-okp-rag.yaml
  • examples/lightspeed-stack-conversation-cache-pg.yaml
  • examples/lightspeed-stack-conversation-cache-sqlite.yaml
  • examples/lightspeed-stack-shields.yaml
  • examples/lightspeed-stack-skills.yaml
  • examples/lightspeed-stack-unified-byo-llm.yaml
  • src/app/endpoints/conversations_v1.py
  • src/models/common/query.py
  • src/models/config.py
  • tests/e2e/features/conversation-compaction.feature
  • tests/e2e/features/info.feature
  • tests/e2e/features/steps/conversation_compaction.py
  • tests/e2e/features/steps/unified_mode.py
  • tests/integration/endpoints/test_compaction_conversations_api.py
  • tests/unit/app/endpoints/test_conversations.py
  • tests/unit/observability/formats/test_rlsapi.py
  • tests/unit/utils/test_conversation_compaction.py

 ______________________________________________________________________
< If it “compiles on my machine”, I will make your machine my machine. >
 ----------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

✨ Simplify code
  • Commit to this branch
  • Create a new PR

  • 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

Comment @coderabbitai help to get the list of available commands.

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.

8 participants