Skip to content

LCORE-3694: move legacy two-file removal from 0.7 to 0.8 - #2528

Open
max-svistunov wants to merge 2 commits into
lightspeed-core:mainfrom
max-svistunov:lcore-3694-legacy-deprecation-schedule-0.8
Open

LCORE-3694: move legacy two-file removal from 0.7 to 0.8#2528
max-svistunov wants to merge 2 commits into
lightspeed-core:mainfrom
max-svistunov:lcore-3694-legacy-deprecation-schedule-0.8

Conversation

@max-svistunov

@max-svistunov max-svistunov commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Description

The startup deprecation WARN and the design doc both stated that the legacy two-file configuration (llama_stack.library_client_config_path plus an external run.yaml) is removed in release 0.7. That is no longer the plan: confirmed by @sbunciak on 2026-08-24, the legacy path is deprecated through 0.7 with warnings and a migration path, and removed in 0.8.

Removing in 0.7 would have satisfied the Engineering Support Agreement's mandatory one-minor-release deprecation phase only formally. The unified replacement is itself only completed in 0.7, so operators would not have had a full release with a working migration path available to them.

Left uncorrected, 0.7 GA would ship a startup warning promising a removal that does not happen — hence this should land before 0.7.0-rc2.

Two commits:

  1. Source and design doc — the WARN string and its schedule comment in src/lightspeed_stack.py, the library_client_config_path field description in src/models/config.py (the source for the generated configuration documentation), and requirement R2, Decision S2 and the changelog in the design doc. Decision S2 now also carries the rationale for the revision and the real release dates in place of the tentative ones.
  2. Generated documentation — so no document still tells operators the two-file setup is removed in 0.7.

Two things worth flagging for review:

  • Regenerating docs/models/successful_responses.json also picks up two lines of unrelated drift already present on main, where a question-validity prompt default was edited without regenerating the documentation. Those are included rather than hand-patching a generated file back into a stale state.
  • docs/user_doc/config.{json,md,html} are edited by hand because no Makefile target, script or workflow generates them. See the comment below.

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: Claude Opus 4.8
  • Generated by: Claude Opus 4.8

Related Tickets & Documents

  • Related Issue # LCORE-3694
  • Closes # LCORE-3694

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

  1. Confirm nothing still promises removal in 0.7:

    grep -rn "removed in 0\.7" src/ docs/
    

    Expected: no hits outside the spike doc and local jiras/ scratch files. Actual: clean.

  2. Confirm the startup warning names 0.8. Run the service with a legacy two-file configuration (llama_stack.library_client_config_path set) and check the startup log:

    DEPRECATED: the two-file configuration (llama_stack.library_client_config_path
    + external run.yaml) is deprecated and will be removed in release 0.8. Migrate
    to the unified lightspeed-stack.yaml: <migration guide link>
    
  3. Tests covering the changed modules:

    uv run python -m pytest tests/unit/test_llama_stack_configuration.py \
        tests/unit/models/config/ tests/unit/utils/test_models_dumper.py -q
    uv run python -m pytest tests/unit/test_lightspeed_stack.py -q
    

    Result: 509 passed / 79 subtests passed, and 7 passed.

  4. Documentation regeneration is reproducible:

    uv run make schema
    uv run make docs/models/successful_responses.json
    uv run make docs/models/successful_responses.md
    

    Result: regenerates to the committed content.

Summary by CodeRabbit

  • Documentation

    • Updated the legacy Llama Stack configuration deprecation timeline across guides, reference documentation, schemas, and API descriptions.
    • Clarified that removal is planned for version 0.8, with support and warnings continuing through version 0.7.
    • Corrected Kubernetes and OpenShift capitalization in documented response schemas.
  • Bug Fixes

    • Updated runtime deprecation messaging to match the revised configuration removal schedule.

The startup deprecation WARN and the design doc both stated that the
legacy two-file configuration (llama_stack.library_client_config_path
plus an external run.yaml) is removed in release 0.7. That is no longer
the plan: confirmed 2026-08-24, the legacy path is deprecated through
0.7 with warnings and a migration path, and removed in 0.8.

Removing in 0.7 would have satisfied the Engineering Support Agreement's
mandatory one-minor-release deprecation phase only formally. The unified
replacement is itself only completed in 0.7, so operators would not have
had a full release with a working migration path available to them.

Left uncorrected, 0.7 GA would have shipped a startup warning promising
a removal that does not happen.

Changes the WARN string and its schedule comment in lightspeed_stack.py,
the library_client_config_path field description in models/config.py
(the source for the generated configuration documentation), and
requirement R2, Decision S2 and the changelog in the design doc. Decision
S2 now also carries the rationale for the revision and the real release
dates in place of the tentative ones.
Propagates the library_client_config_path description change to the
generated documentation, so no document still tells operators the legacy
two-file setup is removed in 0.7.

Regenerated from source via the Makefile targets: docs/devel_doc/
openapi.json and docs/models/successful_responses.{json,md}. That
regeneration also picks up two lines of unrelated drift already present
on main, where a question-validity prompt default was edited without
regenerating the documentation; those are included rather than
hand-patching generated files back into a stale state.

docs/user_doc/config.{json,md,html} are edited by hand because no
Makefile target, script or workflow generates them. config.json is
exactly the --dump-schema output, config.md is close to
openapi-to-markdown piped through scripts/fix_openapi_doc.py but not
identical, and config.html has no discoverable generator; the three were
last regenerated manually under LCORE-3444. Editing the single affected
line keeps them consistent with each other. The missing generation path
is recorded on LCORE-3694 as a follow-up.

docs/basic_info/getting_started.md carries the same correction in an
example comment.
@coderabbitai

coderabbitai Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: a543be21-9780-4a6f-9cfa-cea376b34551

📥 Commits

Reviewing files that changed from the base of the PR and between 939b01f and 01a0f1c.

📒 Files selected for processing (10)
  • docs/basic_info/getting_started.md
  • docs/design/llama-stack-config-merge/llama-stack-config-merge.md
  • docs/devel_doc/openapi.json
  • docs/models/successful_responses.json
  • docs/models/successful_responses.md
  • docs/user_doc/config.html
  • docs/user_doc/config.json
  • docs/user_doc/config.md
  • src/lightspeed_stack.py
  • src/models/config.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (20)
  • GitHub Check: E2E: library / ci / skills
  • GitHub Check: E2E: library / ci / other
  • GitHub Check: E2E: library / ci / authorized
  • GitHub Check: E2E: library / ci / rbac
  • GitHub Check: E2E: library / ci / mcp
  • GitHub Check: E2E: server / ci / tls
  • GitHub Check: E2E: server / ci / skills
  • GitHub Check: E2E: server / ci / other
  • GitHub Check: E2E: server / ci / rbac
  • GitHub Check: E2E: server / ci / default
  • GitHub Check: E2E: server / ci / authorized
  • GitHub Check: E2E: library / ci / default
  • GitHub Check: E2E: server / ci / mcp
  • GitHub Check: Red Hat Konflux / lightspeed-stack-0-8-e2e-tests / lightspeed-stack-0-8
  • GitHub Check: Red Hat Konflux / rag-content-0-8-e2e-tests / lightspeed-stack-0-8
  • GitHub Check: Red Hat Konflux / lightspeed-core-0-8-enterprise-contract / lightspeed-stack-0-8
  • GitHub Check: Pylinter
  • GitHub Check: unit_tests (3.12)
  • GitHub Check: unit_tests (3.13)
  • GitHub Check: Konflux kflux-prd-rh02 / lightspeed-stack-0-8-on-pull-request
⚠️ CI failures not shown inline (4)

GitHub Actions: Check image building / build-pr: LCORE-3694: move legacy two-file removal from 0.7 to 0.8

Conclusion: failure

View job details

##[group]/usr/bin/buildah version
 [command]/usr/bin/buildah version
 Version:         1.33.7
 Go Version:      go1.22.2
 Image Spec:      1.1.0-rc.5
 Runtime Spec:    1.1.0
 CNI Spec:        1.0.0
 libcni Version:
 image Version:   5.29.2
 Git Commit:
 Built:           Thu Jan  1 00:00:00 1970
 OS/Arch:         linux/amd64
 BuildPlatform:   linux/amd64
 ##[endgroup]
 Overriding storage mount_program with "fuse-overlayfs" in environment
 Performing build from Containerfile
 [command]/usr/bin/buildah bud --arch amd64 -f /home/runner/work/lightspeed-stack/lightspeed-stack/deploy/lightspeed-stack/Containerfile --format oci --tls-verify=true -t lightspeed-stack:dev-latest-amd64 /home/runner/work/lightspeed-stack/lightspeed-stack
 [1/2] STEP 1/15: FROM registry.access.redhat.com/ubi9/python-312 AS builder
 Trying to pull registry.access.redhat.com/ubi9/python-312:latest...
 Getting image source signatures
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying config sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Writing manifest to image destination
 [1/2] STEP 2/15: ARG BUILDER_DNF_COMMAND=dnf
 [1/2] STEP 3/15: ARG APP_ROOT=/app-root
 [1/2] STEP 4/15: ARG LSC_SOURCE_DIR=.
 [1/2] STEP 5/15: ENV UV_COMPILE_BYTECODE=0     UV_LINK_MODE=copy     UV_PYTHON_DOWNLOADS=0     MATURIN_NO_INSTALL_RUST=1
 [1/2] STEP 6/15: WORKDIR /app-root
 [1/2] STEP 7/15: USER root
 [1/2] STEP 8/15: RUN ${BUILDER_DNF_COMMAND} install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs gcc gcc-c++ cmake cargo &&     ${BUILDER_DNF_COMMAND} update -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs
 Updating Subscription Management repositories.
 Unable to read consumer identity
 This system is not registered with an entitlement server. You can use subscription-manager to register.
 Red Hat Universal Base Image 9 (RP...

GitHub Actions: Check image building / 0_build-pr.txt: LCORE-3694: move legacy two-file removal from 0.7 to 0.8

Conclusion: failure

View job details

##[group]/usr/bin/buildah version
 [command]/usr/bin/buildah version
 Version:         1.33.7
 Go Version:      go1.22.2
 Image Spec:      1.1.0-rc.5
 Runtime Spec:    1.1.0
 CNI Spec:        1.0.0
 libcni Version:
 image Version:   5.29.2
 Git Commit:
 Built:           Thu Jan  1 00:00:00 1970
 OS/Arch:         linux/amd64
 BuildPlatform:   linux/amd64
 ##[endgroup]
 Overriding storage mount_program with "fuse-overlayfs" in environment
 Performing build from Containerfile
 [command]/usr/bin/buildah bud --arch amd64 -f /home/runner/work/lightspeed-stack/lightspeed-stack/deploy/lightspeed-stack/Containerfile --format oci --tls-verify=true -t lightspeed-stack:dev-latest-amd64 /home/runner/work/lightspeed-stack/lightspeed-stack
 [1/2] STEP 1/15: FROM registry.access.redhat.com/ubi9/python-312 AS builder
 Trying to pull registry.access.redhat.com/ubi9/python-312:latest...
 Getting image source signatures
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying blob sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Copying config sha256:***REDACTED_HIGH_ENTROPY_STRING***
 Writing manifest to image destination
 [1/2] STEP 2/15: ARG BUILDER_DNF_COMMAND=dnf
 [1/2] STEP 3/15: ARG APP_ROOT=/app-root
 [1/2] STEP 4/15: ARG LSC_SOURCE_DIR=.
 [1/2] STEP 5/15: ENV UV_COMPILE_BYTECODE=0     UV_LINK_MODE=copy     UV_PYTHON_DOWNLOADS=0     MATURIN_NO_INSTALL_RUST=1
 [1/2] STEP 6/15: WORKDIR /app-root
 [1/2] STEP 7/15: USER root
 [1/2] STEP 8/15: RUN ${BUILDER_DNF_COMMAND} install -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs gcc gcc-c++ cmake cargo &&     ${BUILDER_DNF_COMMAND} update -y --nodocs --setopt=keepcache=0 --setopt=tsflags=nodocs
 Updating Subscription Management repositories.
 Unable to read consumer identity
 This system is not registered with an entitlement server. You can use subscription-manager to register.
 Red Hat Universal Base Image 9 (RP...

GitHub Actions: E2E Tests for Lightspeed Evaluation / 0_E2E Tests for Lightspeed Evaluation job.txt: LCORE-3694: move legacy two-file removal from 0.7 to 0.8

Conclusion: failure

View job details

##[group]Run echo "Starting service in library mode (1 container)"
 �[36;1mecho "Starting service in library mode (1 container)"�[0m
 �[36;1mdocker compose -f docker-compose-library.yaml up -d�[0m
 �[36;1m�[0m
 �[36;1mif docker compose -f docker-compose-library.yaml ps | grep -E 'Exit|exited|stopped'; then�[0m
 �[36;1m  echo "Service failed to start - showing logs:"�[0m
 �[36;1m  docker compose -f docker-compose-library.yaml logs�[0m
 �[36;1m  exit 1�[0m
 �[36;1melse�[0m
 �[36;1m  echo "Service started successfully"�[0m
 �[36;1mfi�[0m
 shell: /usr/bin/bash -e {0}
 env:
   OPENAI_***REDACTED_SECRET_ASSIGNMENT***
   E2E_OPENAI_MODEL: gpt-4o-mini
   FAISS_VECTOR_STORE_ID: vs_8c94967b-81cc-4028-a294-9cfac6fd9ae2
 ##[endgroup]
 Starting service in library mode (1 container)
 `#1` [internal] load local bake definitions
 `#1` reading from stdin 1.30kB done
 `#1` DONE 0.0s
 `#2` [lightspeed-stack internal] load build definition from Containerfile
 `#2` transferring dockerfile: 7.17kB done
 `#2` DONE 0.0s
 `#3` [mock-jwks internal] load build definition from Dockerfile
 `#3` transferring dockerfile: 129B done
 `#3` DONE 0.0s
 `#4` [mock-mcp internal] load build definition from Dockerfile
 `#4` transferring dockerfile: 129B done
 `#4` DONE 0.0s
 `#5` [auth] library/python:pull token for registry-1.docker.io
 `#5` DONE 0.0s
 `#6` [mock-mcp internal] load metadata for docker.io/library/python:3.12-slim
 `#6` DONE 0.6s
 `#7` [mock-mcp internal] load .dockerignore
 `#7` transferring context: 2B done
 `#7` DONE 0.0s
 `#8` [mock-jwks internal] load .dockerignore
 `#8` transferring context: 2B done
 `#8` DONE 0.0s
 `#9` [mock-jwks internal] load build context
 `#9` transferring context: 5.39kB done
 `#9` DONE 0.0s
 `#10` [mock-mcp internal] load build context
 `#10` transferring context: 4.61kB done
 `#10` DONE 0.0s
 `#11` [lightspeed-stack internal] load metadata for registry.access.redhat.com/ubi9/python-312-minimal:latest
 `#11` DONE 0.8s
 `#12` [mock-jwks 1/3] FROM docker.io/library/python:3.12-slim@sha256:***REDACTED_HIGH_ENTROPY_STRIN...

GitHub Actions: E2E Tests for Lightspeed Evaluation / E2E Tests for Lightspeed Evaluation job: LCORE-3694: move legacy two-file removal from 0.7 to 0.8

Conclusion: failure

View job details

##[group]Run echo "Starting service in library mode (1 container)"
 �[36;1mecho "Starting service in library mode (1 container)"�[0m
 �[36;1mdocker compose -f docker-compose-library.yaml up -d�[0m
 �[36;1m�[0m
 �[36;1mif docker compose -f docker-compose-library.yaml ps | grep -E 'Exit|exited|stopped'; then�[0m
 �[36;1m  echo "Service failed to start - showing logs:"�[0m
 �[36;1m  docker compose -f docker-compose-library.yaml logs�[0m
 �[36;1m  exit 1�[0m
 �[36;1melse�[0m
 �[36;1m  echo "Service started successfully"�[0m
 �[36;1mfi�[0m
 shell: /usr/bin/bash -e {0}
 env:
   OPENAI_***REDACTED_SECRET_ASSIGNMENT***
   E2E_OPENAI_MODEL: gpt-4o-mini
   FAISS_VECTOR_STORE_ID: vs_8c94967b-81cc-4028-a294-9cfac6fd9ae2
 ##[endgroup]
 Starting service in library mode (1 container)
 `#1` [internal] load local bake definitions
 `#1` reading from stdin 1.30kB done
 `#1` DONE 0.0s
 `#2` [lightspeed-stack internal] load build definition from Containerfile
 `#2` transferring dockerfile: 7.17kB done
 `#2` DONE 0.0s
 `#3` [mock-jwks internal] load build definition from Dockerfile
 `#3` transferring dockerfile: 129B done
 `#3` DONE 0.0s
 `#4` [mock-mcp internal] load build definition from Dockerfile
 `#4` transferring dockerfile: 129B done
 `#4` DONE 0.0s
 `#5` [auth] library/python:pull token for registry-1.docker.io
 `#5` DONE 0.0s
 `#6` [mock-mcp internal] load metadata for docker.io/library/python:3.12-slim
 `#6` DONE 0.6s
 `#7` [mock-mcp internal] load .dockerignore
 `#7` transferring context: 2B done
 `#7` DONE 0.0s
 `#8` [mock-jwks internal] load .dockerignore
 `#8` transferring context: 2B done
 `#8` DONE 0.0s
 `#9` [mock-jwks internal] load build context
 `#9` transferring context: 5.39kB done
 `#9` DONE 0.0s
 `#10` [mock-mcp internal] load build context
 `#10` transferring context: 4.61kB done
 `#10` DONE 0.0s
 `#11` [lightspeed-stack internal] load metadata for registry.access.redhat.com/ubi9/python-312-minimal:latest
 `#11` DONE 0.8s
 `#12` [mock-jwks 1/3] FROM docker.io/library/python:3.12-slim@sha256:***REDACTED_HIGH_ENTROPY_STRIN...
🧰 Additional context used
📓 Path-based instructions (3)
**/*

📄 CodeRabbit inference engine (Custom checks)

**/*: Flag meaningful O(n^2)+ algorithms on non-trivial inputs, including handlers and Kubernetes list operations.
Flag N+1 patterns that list items and then query once per item, including Kubernetes API and database access.
Flag expensive work inside loops, including API calls, JSON parsing, and regex compilation.
Flag unbounded growth in caches, watchers, or buffers when eviction or limits are missing.
Flag missing pagination or limits on list operations and API endpoints.
Flag secrets or tokens logged in plaintext or hardcoded in source.
Flag API endpoints missing authentication or authorization.
Flag injection vulnerabilities, including SQL injection, command injection, and path traversal.
Flag sensitive data leaked in API responses, WebSocket messages, or logs.
Flag Kubernetes Secrets and Red Hat secrets missing OwnerReferences.

Files:

  • docs/devel_doc/openapi.json
  • docs/user_doc/config.html
  • docs/user_doc/config.md
  • docs/user_doc/config.json
  • src/lightspeed_stack.py
  • docs/models/successful_responses.md
  • docs/basic_info/getting_started.md
  • src/models/config.py
  • docs/design/llama-stack-config-merge/llama-stack-config-merge.md
  • docs/models/successful_responses.json
src/**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

src/**/*.py: Use absolute imports for internal modules and follow the prescribed FastAPI and Llama Stack import conventions.
All modules must begin with descriptive docstrings; use logger = get_logger(__name__) from log.py for module logging; package __init__.py files must contain brief package descriptions.
Define shared constants in the central constants.py module, add descriptive comments, and annotate constants with Final[type].
Use complete type annotations for function parameters, return types, class attributes, and type aliases; prefer specific types over Any, use modern union syntax, and use typing_extensions.Self for model validators.
All functions and classes require descriptive Google-style docstrings, including appropriate Parameters, Returns, Raises, and Attributes sections.
Use descriptive snake_case, action-oriented function names such as get_, validate_, and check_; use PascalCase class names with standard suffixes such as Configuration, Error/Exception, Resolver, and Interface.
Avoid modifying input parameters in place; return a newly constructed data structure instead.
Use async def for I/O operations and external API calls; API endpoints should raise FastAPI HTTPException with appropriate status codes and handle Llama Stack APIConnectionError.
Use from log import get_logger and standard logger levels: debug for diagnostics, info for general execution, warning for unexpected conditions or potential problems, and error for serious failures.
Configuration models must extend ConfigurationBase, set extra="forbid" to reject unknown fields, use Pydantic validators for custom validation, and use types such as Optional[FilePath], PositiveInt, and SecretStr where appropriate.
Abstract interfaces must use ABC and @abstractmethod decorators.
Never commit secrets or keys; use environment variables for sensitive data.

Files:

  • src/lightspeed_stack.py
  • src/models/config.py
src/models/**/*.py

📄 CodeRabbit inference engine (AGENTS.md)

Pydantic data models must extend BaseModel; configuration models must extend ConfigurationBase; use @model_validator and @field_validator for validation.

Files:

  • src/models/config.py
🪛 Checkov (3.3.10)
docs/devel_doc/openapi.json

[high] 1-23232: Ensure that the global security field has rules defined

(CKV_OPENAPI_4)


[high] 1-23232: Ensure that security operations is not empty.

(CKV_OPENAPI_5)

docs/user_doc/config.json

[high] 1-2355: Ensure that the global security field has rules defined

(CKV_OPENAPI_4)

docs/models/successful_responses.json

[high] 1-6977: Ensure that the global security field has rules defined

(CKV_OPENAPI_4)

🔇 Additional comments (10)
src/lightspeed_stack.py (1)

193-199: LGTM!

src/models/config.py (1)

847-847: LGTM!

docs/design/llama-stack-config-merge/llama-stack-config-merge.md (1)

71-73: LGTM!

Also applies to: 431-438, 563-563

docs/basic_info/getting_started.md (1)

135-135: LGTM!

docs/devel_doc/openapi.json (1)

15201-15201: LGTM!

docs/models/successful_responses.json (1)

2055-2055: LGTM!

Also applies to: 4469-4469

docs/models/successful_responses.md (1)

867-867: LGTM!

docs/user_doc/config.html (1)

1280-1280: LGTM!

docs/user_doc/config.json (1)

1069-1069: LGTM!

docs/user_doc/config.md (1)

457-457: LGTM!


Walkthrough

Changes

The legacy two-file configuration remains supported through releases 0.6 and 0.7. Its removal target is now release 0.8. Runtime warnings, configuration metadata, design documentation, API descriptions, and user documentation reflect this schedule.

Legacy configuration schedule

Layer / File(s) Summary
Runtime deprecation messaging
src/lightspeed_stack.py, src/models/config.py
Startup warnings and the library_client_config_path description now state removal in release 0.8.
Deprecation schedule records
docs/design/llama-stack-config-merge/llama-stack-config-merge.md
The design document records support through releases 0.6 and 0.7, removal in 0.8, target release dates, and the 2026-08-24 decision.
Documentation and schema descriptions
docs/basic_info/getting_started.md, docs/devel_doc/openapi.json, docs/models/*, docs/user_doc/*
Documentation and schema descriptions now use the 0.8 removal target. The question-validity prompt also capitalizes “Kubernetes” and “OpenShift” consistently.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 01a0f

The change updates the legacy configuration removal timeline from release 0.7 to 0.8 across source and documentation so users receive the promised deprecation period and migration path. No actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: tisnik, asimurka, jdubrick

🚥 Pre-merge checks | ✅ 7
✅ Passed checks (7 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes moving legacy two-file configuration removal from version 0.7 to 0.8.
Docstring Coverage ✅ Passed Docstring check was indeterminate for this PR — some files could not be analyzed in time. Not blocking.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Performance And Algorithmic Complexity ✅ Passed The PR changes only deprecation text, comments, and documentation. The source diff adds no loops, API calls, parsing, caches, watchers, or list-operation changes, so no performance regression is in...
Security And Secret Handling ✅ Passed PASS: The diff changes only deprecation text and documentation; no secrets, auth endpoints, injection code, sensitive response/log changes, or Kubernetes Secret manifests were introduced.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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.

@max-svistunov

Copy link
Copy Markdown
Contributor Author

@tisnik One note -- I edited docs/user_doc/config.{json,md,html} by hand -- couldn't find what generates them. How do you regenerate these?

@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

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.

2 participants