Skip to content

Prepare release 0.4.2 - #34

Merged
Mtrya merged 6 commits into
mainfrom
release/0.4.2
Jul 29, 2026
Merged

Prepare release 0.4.2#34
Mtrya merged 6 commits into
mainfrom
release/0.4.2

Conversation

@Mtrya

@Mtrya Mtrya commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Summary

  • consolidate Kimi Code compatibility metadata into the release history map
  • improve startup configuration errors and rewrite the installation guides around agent and operator responsibilities
  • combine future Kimi compatibility promotions with patch-version bumps and add guarded post-merge GitHub Release automation
  • prepare kimi-bridge 0.4.2 with the current tested Kimi Code versions

Validation

  • uv lock --check
  • uv run --locked python scripts/check_release.py
  • uv run --locked pytest -q — 357 passed
  • uv run --locked ruff check .
  • git diff --check
  • uv build --no-sources
  • uv run --locked twine check <isolated-dist>/*
  • uv run --locked python scripts/check_distribution.py --dist-dir <isolated-dist>

Release plan

After this PR merges, publish v0.4.2 at the exact merged commit. The Release workflow will build and attach distributions, then request deployment through the protected pypi environment. Publication will be followed by provenance, digest, metadata, and clean-install verification.

Summary by Sourcery

Prepare kimi-bridge 0.4.2 as a compatibility-focused release and wire automated GitHub Releases and PyPI publication around the compatibility map.

New Features:

  • Add automated patch-version preparation that extends the compatibility map when new Kimi Code versions pass the semantic contract canary.

Enhancements:

  • Consolidate Kimi Code compatibility tracking into the packaged compatibility map and derive the supported-version set from the latest release entry.
  • Improve startup error reporting so adapter configuration failures return clear messages without tracebacks.
  • Refine installation and configuration guides for agents and human operators, clarifying platform responsibilities, outcomes, and persistence/rollback behavior.

Build:

  • Update distribution checks to require the compatibility-map asset instead of the deprecated supported-versions manifest.

CI:

  • Extend the release workflow to be reusable and dispatchable with explicit tags, and add a guarded workflow that turns merged compatibility promotion PRs into tagged releases and runs the release pipeline.

Documentation:

  • Rewrite INSTALL_AI.md and INSTALL.md to clarify agent vs human roles, platform-specific bootstrap steps, and supported platforms and limitations.
  • Update architecture and configuration docs to describe the compatibility-map-based policy, platform bootstraps, and QQ/Telegram/Feishu setup references.

Tests:

  • Add tests for the new compatibility release preparation logic, GitHub automation behavior, and startup error rendering, and update compatibility tests to use the compatibility map as the single source of truth.

Chores:

  • Bump project version to 0.4.2 and update uv.lock and compatibility-map.json accordingly.
  • Remove the obsolete supported-kimi-code-versions manifest from the package and related tooling.

Summary by CodeRabbit

  • New Features

    • Added automated compatibility releases and publishing for validated compatibility updates.
    • Compatibility support is now managed through the release history, including support for Kimi Code 0.29.2.
    • Release workflows can build and publish a specified release tag.
  • Bug Fixes

    • Startup configuration errors now display a concise message without a traceback.
  • Documentation

    • Updated installation, setup, configuration, and architecture guidance with clearer compatibility and validation instructions.
  • Chores

    • Updated the package to version 0.4.2.

@sourcery-ai

sourcery-ai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Release 0.4.2 prepares kimi-bridge for new tested Kimi Code versions, consolidates compatibility metadata into a single release-history map with automation to bump patch versions and publish releases, improves install/setup documentation for human and agent operators, tightens distribution checks, and refines startup error reporting.

File-Level Changes

Change Details Files
Revise INSTALL_AI.md and INSTALL.md to clearly separate agent vs human workflows, formalize setup ownership and outcomes, and expand platform-specific bootstrapping and verification guidance.
  • Reframe INSTALL_AI.md as an operating contract for agents, with explicit ownership classes for actions and clear completion outcomes (done/paused/unsupported/aborted).
  • Restructure host and Kimi Code preflight, uv requirement, and compatibility checks, emphasizing real end-to-end Kimi prompt validation before platform setup.
  • Add detailed Feishu, QQ, and Telegram bootstrapping sections, including app/bot creation, scopes/intents, identity discovery, and live validation steps.
  • Simplify INSTALL.md to a human happy-path install guide, add platform support table and prerequisites, and clarify non-uv installations as unsupported by project tests.
  • Align references to configuration and commands docs, and emphasize that foreground verification and real adapter round-trips are required before considering setup complete.
INSTALL_AI.md
INSTALL.md
Consolidate Kimi Code compatibility into a release-history map and implement automation that prepares patch releases and updates pyproject/lock/map in one GitHub PR.
  • Introduce prepare_compatibility_release helper to compute next patch version, validate pyproject/uv.lock alignment, and append a new compatibility-map release entry with the promoted Kimi Code version.
  • Change promotion logic in check_kimi_compatibility to operate on pyproject.toml, uv.lock, and compatibility-map.json instead of a standalone supported-version manifest, and to write three coordinated content updates on the automation branch.
  • Update tests to use COMPATIBILITY_MAP as the source of truth, verify that latest map entry defines SUPPORTED_KIMI_CODE_VERSIONS, and assert semantic ordering and release history invariants.
  • Refactor compatibility.py to drop supported-kimi-code-versions.json, derive SUPPORTED_KIMI_CODE_VERSIONS from the latest map entry, and clarify sort-key semantics.
  • Adjust drift/promotion tests and fixtures (FakeGitHub) to expect multi-file updates and track updated paths and content update counts.
scripts/check_kimi_compatibility.py
src/kimi_bridge/compatibility.py
tests/test_compatibility_check.py
tests/test_compatibility.py
tests/conftest.py
src/kimi_bridge/compatibility-map.json
.github/workflows/kimi-drift.yml
AGENTS.md
pyproject.toml
uv.lock
scripts/check_distribution.py
Enhance release automation so compatibility-only patch releases auto-create a GitHub Release and then reuse a parameterized Release workflow to build and publish distributions for a specified tag.
  • Add kimi-drift-release workflow that detects merged automation/kimi-code-compatibility promotion PRs, verifies the compatibility-map entry and release ownership, creates a GitHub Release at the commit introducing the new compatibility record, and exposes the tag to downstream jobs.
  • Convert the Release workflow to be reusable and manually dispatchable by adding workflow_call and workflow_dispatch triggers with a tag input, wiring concurrency and env RELEASE_TAG to that input or the release event.
  • Update build job to checkout the exact release tag, verify release identity using scripts/check_release.py against the tag and git rev-parse HEAD, and to name artifacts with the RELEASE_TAG.
  • Propagate RELEASE_TAG through release-assets and pypi-publish jobs, including gh release upload and artifact download names.
  • Tighten permissions for kimi-drift-release and ensure PyPI publication still goes through the protected pypi environment with separate approval.
.github/workflows/release.yml
.github/workflows/kimi-drift-release.yml
.github/workflows/kimi-drift.yml
scripts/check_kimi_compatibility.py
docs/ARCHITECTURE.md
AGENTS.md
Clean up packaging and distribution checks to reflect the new compatibility map and bump the project version to 0.4.2.
  • Bump project version from 0.4.1 to 0.4.2 in pyproject.toml.
  • Ensure compatibility-map.json is included in the wheel build instead of the removed supported-kimi-code-versions.json resource.
  • Update scripts/check_distribution REQUIRED_PACKAGE_FILES to assert presence of compatibility-map.json, not the old manifest.
  • Regenerate uv.lock to reflect the new project version and current locked dependency graph.
  • Remove the obsolete supported-kimi-code-versions.json file from the source tree.
pyproject.toml
src/kimi_bridge/compatibility-map.json
scripts/check_distribution.py
uv.lock
src/kimi_bridge/supported-kimi-code-versions.json
Improve startup error handling so configuration/adapter errors are rendered as clean user-facing messages without tracebacks, and add tests for that behavior.
  • Extend the main entry point to catch RuntimeError in addition to KimiServerError, ValueError, and TypeError, printing a concise "kimi-bridge:" prefixed message and exiting with status 1 without a traceback.
  • Add a test that simulates an adapter configuration error (e.g., missing telegram.allowed_users) and asserts stderr contains only the clean message with no traceback.
  • Retain KeyboardInterrupt behavior (exit 0) and existing error handling paths, verified by existing tests.
src/kimi_bridge/__main__.py
tests/test_main.py

Possibly linked issues

  • #: Yes. The PR implements the agent-native INSTALL_AI.md tree and aligned INSTALL.md happy-path guide requested by the issue, plus extra release changes.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@Mtrya, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 45 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 91828928-d8c4-4de9-a59c-b505c1a9bcc4

📥 Commits

Reviewing files that changed from the base of the PR and between 3d255e1 and 70a50be.

📒 Files selected for processing (7)
  • .github/workflows/kimi-drift-release.yml
  • .github/workflows/release.yml
  • INSTALL_AI.md
  • scripts/check_kimi_compatibility.py
  • src/kimi_bridge/__main__.py
  • tests/test_compatibility_check.py
  • tests/test_main.py
📝 Walkthrough

Walkthrough

The PR replaces the standalone supported-version manifest with compatibility-map history, updates promotion automation and release workflows, adds the 0.4.2 compatibility entry, rewrites installation and setup-agent guidance, and reports startup RuntimeError failures as concise CLI errors.

Changes

Compatibility release pipeline

Layer / File(s) Summary
Compatibility map source of truth
pyproject.toml, src/kimi_bridge/*, scripts/check_distribution.py, tests/test_compatibility.py
Version 0.4.2 and its compatibility entry are added; package validation and runtime support-version loading now use the compatibility map.
Compatibility promotion automation
scripts/check_kimi_compatibility.py, tests/test_compatibility_check.py
Promotion validates project and lockfile versions, updates three repository contents, and tests the resulting GitHub synchronization behavior.
Release creation and publishing
.github/workflows/kimi-drift-release.yml, .github/workflows/kimi-drift.yml, .github/workflows/release.yml, docs/ARCHITECTURE.md, AGENTS.md
Merged marked promotion PRs can create tagged releases, which invoke the reusable publishing workflow using a shared release tag.
Installation and setup-agent guidance
INSTALL.md, INSTALL_AI.md, docs/CONFIGURATION.md
Operator and setup procedures now cover compatibility checks, platform bootstraps, live validation, persistence, rollback, and updated configuration links.
Startup error reporting
src/kimi_bridge/__main__.py, tests/test_main.py
Startup RuntimeError exceptions now produce exit code 1 with a single formatted error line and no traceback.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant PromotionPR
  participant ReleaseWorkflow
  participant GitHubRelease
  participant PublishWorkflow
  PromotionPR->>ReleaseWorkflow: merged marked compatibility promotion
  ReleaseWorkflow->>GitHubRelease: create release with computed tag
  ReleaseWorkflow->>PublishWorkflow: pass release tag
  PublishWorkflow->>GitHubRelease: upload distributions and hashes
Loading

Possibly related PRs

  • Mtrya/kimi-bridge#11: Earlier compatibility promotion and GitHub automation changes overlap with the updated promotion flow.
  • Mtrya/kimi-bridge#31: Introduced compatibility-map-backed compatibility classification overlapping with the runtime source-of-truth changes.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 21.05% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the primary change: preparing the 0.4.2 release.
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.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/0.4.2

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.

@sourcery-ai sourcery-ai Bot 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.

Hey - I've found 2 issues

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="scripts/check_kimi_compatibility.py" line_range="56-61" />
<code_context>
 PROMOTION_MARKER = "<!-- kimi-bridge:compatibility-promotion -->"
 DRIFT_MARKER = "<!-- kimi-bridge:upstream-drift -->"
 DRIFT_LABEL = "upstream-drift"
+PROJECT_VERSION_RE = re.compile(
+    r'(?ms)^(\[project\]\n.*?^version = ")(\d+\.\d+\.\d+)(")$'
+)
+LOCKED_PROJECT_RE = re.compile(
+    r'(?ms)^(\[\[package\]\]\nname = "kimi-bridge"\nversion = ")'
+    r'(\d+\.\d+\.\d+)(")$'
+)

</code_context>
<issue_to_address>
**suggestion (bug_risk):** The version extraction regexes are quite brittle and could be replaced with TOML parsing for robustness.

These regexes tightly couple release prep to the exact current layout of `pyproject.toml` and `uv.lock` (spacing, ordering, absence of comments/extra fields). Small, reasonable edits (comments, reordered fields, or formatter output) would cause version extraction to fail and raise `RuntimeError`s.

Given `prepare_compatibility_release` is already doing structured work and `tomllib` is available, consider parsing both files as TOML and reading/updating the version fields programmatically instead of matching the entire file with regexes. That will make the process far more resilient to benign formatting changes.

Suggested implementation:

```python
import tomllib

PROMOTION_MARKER = "<!-- kimi-bridge:compatibility-promotion -->"
DRIFT_MARKER = "<!-- kimi-bridge:upstream-drift -->"
DRIFT_LABEL = "upstream-drift"


def get_project_version(pyproject: str) -> str:
    """Parse pyproject.toml and return the project version."""
    try:
        data = tomllib.loads(pyproject)
    except tomllib.TOMLDecodeError as exc:
        raise RuntimeError("Failed to parse pyproject.toml as TOML") from exc

    try:
        return data["project"]["version"]
    except KeyError as exc:
        raise RuntimeError(
            "Unable to determine project version from pyproject.toml "
            "(expected [project].version)"
        ) from exc


def get_locked_project_version(
    uv_lock: str,
    project_name: str = "kimi-bridge",
) -> str:
    """Parse uv.lock and return the locked version for the given project."""
    try:
        data = tomllib.loads(uv_lock)
    except tomllib.TOMLDecodeError as exc:
        raise RuntimeError("Failed to parse uv.lock as TOML") from exc

    packages = data.get("package", [])
    if not isinstance(packages, list):
        raise RuntimeError("Unexpected uv.lock format: 'package' is not a list")

    for package in packages:
        if not isinstance(package, dict):
            continue
        if package.get("name") == project_name:
            version = package.get("version")
            if version:
                return version
            break

    raise RuntimeError(
        f"Unable to determine locked version for {project_name!r} from uv.lock "
        "(expected [[package]] with matching name and version)"
    )


_BEARER_RE = re.compile(r"(?i)(authorization\s*:\s*bearer\s+)[^\s\"']+")
_FRAGMENT_TOKEN_RE = re.compile(r"(?<=#token=)[A-Za-z0-9_-]+")

```

To fully adopt TOML-based version handling and remove the brittle regex dependency, you should also:

1. **Remove any remaining uses of `PROJECT_VERSION_RE` and `LOCKED_PROJECT_RE`** in `prepare_compatibility_release` (and elsewhere, if present).
2. **Replace version extraction logic** inside `prepare_compatibility_release` with calls to the new helpers, for example:
   - `current_version = get_project_version(pyproject)`
   - `locked_version = get_locked_project_version(uv_lock)`
3. If `prepare_compatibility_release` also **updates** the version in `pyproject` and `uv_lock`, introduce complementary helper(s) that:
   - Parse the TOML with `tomllib.loads`.
   - Mutate `data["project"]["version"]` and the appropriate `[[package]]`'s `"version"`.
   - Serialize back to TOML (e.g. via an existing TOML writer/formatter in your codebase, or a chosen library), instead of doing regex `sub` on the raw text.
4. Once the above is done and the code compiles, you can safely delete any dead constants or imports that were only used by the removed regex-based approach.
</issue_to_address>

### Comment 2
<location path="INSTALL_AI.md" line_range="36" />
<code_context>
-If uv is missing: **EXTERNAL(https://docs.astral.sh/uv/getting-started/installation/) → return with `uv --version` working.**
+- **Done:** Kimi Code completed a real prompt, the platform delivered an allowlisted message, and kimi-bridge returned a complete reply.
+- **Paused:** a named user-only action, approval, publication review, or external wait is outstanding. State exactly how to resume and what you will verify.
+- **Unsupported:** the selected environment or platform cannot satisfy a documented requirement. You can still use your own knowledge to assit the user as per their requests.
+- **Aborted:** setup stopped at the user's request. Remove only artifacts created during this setup. Never remove pre-existing configuration, state, workspaces, sessions, bot applications, webhooks, or service files without separate explicit approval for the named targets.

</code_context>
<issue_to_address>
**issue (typo):** Typo in 'assit' – should be 'assist'.

This occurs in the Unsupported outcome description; please update the spelling there.

```suggestion
- **Unsupported:** the selected environment or platform cannot satisfy a documented requirement. You can still use your own knowledge to assist the user as per their requests.
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread scripts/check_kimi_compatibility.py Outdated
Comment thread INSTALL_AI.md Outdated
Mtrya and others added 2 commits July 29, 2026 16:45
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 5

🧹 Nitpick comments (1)
src/kimi_bridge/__main__.py (1)

331-333: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Avoid converting every RuntimeError into a user-facing configuration error.

This also hides unexpected programming and cleanup failures by removing their traceback. Prefer a dedicated startup/operational exception, or wrap only the known expected failures, while allowing unrelated RuntimeError defects to remain diagnosable.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/kimi_bridge/__main__.py` around lines 331 - 333, Update the exception
handling in the main startup flow so only known startup or operational failures
are converted into the user-facing “kimi-bridge” error and exit code 1. Remove
the broad RuntimeError catch, or replace it with a dedicated expected-failure
exception, while preserving handling for KimiServerError, ValueError, and
TypeError as appropriate and allowing unrelated RuntimeError exceptions to
propagate with their traceback.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/kimi-drift-release.yml:
- Around line 34-37: Update the actions/checkout step in
.github/workflows/kimi-drift-release.yml lines 34-37 within create-release to
set persist-credentials to false. Apply the same change to the checkout step in
.github/workflows/release.yml lines 33-36 within build; no other workflow
behavior should change.
- Around line 10-13: Move the workflow permissions from the top level into the
publish job, granting it only the actions, contents, and id-token permissions
required by its reusable release workflow. Remove the top-level id-token: write
grant, and keep create-release scoped to contents: write.

In @.github/workflows/release.yml:
- Around line 37-40: Update the release workflow’s astral-sh/setup-uv step to
disable caching by setting enable-cache to false, ensuring release artifacts do
not reuse caches from other workflow runs.

In `@INSTALL_AI.md`:
- Around line 30-38: Correct the spelling in the Unsupported outcome by changing
“assit” to “assist,” without modifying the surrounding completion-outcome text.

In `@scripts/check_kimi_compatibility.py`:
- Around line 800-849: The release preparation flow should eliminate the race
between reading files and resetting AUTOMATION_BRANCH. Update the code around
current, _branch_sha, and _set_automation_branch to obtain the default-branch
commit SHA before fetching the three files, then read their contents from that
exact commit (using the supported ref mechanism), ensuring each PUT uses SHAs
matching the reset branch.

---

Nitpick comments:
In `@src/kimi_bridge/__main__.py`:
- Around line 331-333: Update the exception handling in the main startup flow so
only known startup or operational failures are converted into the user-facing
“kimi-bridge” error and exit code 1. Remove the broad RuntimeError catch, or
replace it with a dedicated expected-failure exception, while preserving
handling for KimiServerError, ValueError, and TypeError as appropriate and
allowing unrelated RuntimeError exceptions to propagate with their traceback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: cf445f7a-78ce-44fc-acbd-d49b2ea62147

📥 Commits

Reviewing files that changed from the base of the PR and between 0f62684 and 3d255e1.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (19)
  • .github/workflows/kimi-drift-release.yml
  • .github/workflows/kimi-drift.yml
  • .github/workflows/release.yml
  • AGENTS.md
  • INSTALL.md
  • INSTALL_AI.md
  • docs/ARCHITECTURE.md
  • docs/CONFIGURATION.md
  • pyproject.toml
  • scripts/check_distribution.py
  • scripts/check_kimi_compatibility.py
  • src/kimi_bridge/__main__.py
  • src/kimi_bridge/compatibility-map.json
  • src/kimi_bridge/compatibility.py
  • src/kimi_bridge/supported-kimi-code-versions.json
  • tests/conftest.py
  • tests/test_compatibility.py
  • tests/test_compatibility_check.py
  • tests/test_main.py
💤 Files with no reviewable changes (1)
  • src/kimi_bridge/supported-kimi-code-versions.json

Comment thread .github/workflows/kimi-drift-release.yml
Comment thread .github/workflows/kimi-drift-release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread INSTALL_AI.md
Comment thread scripts/check_kimi_compatibility.py
@Mtrya
Mtrya merged commit f01825f into main Jul 29, 2026
11 checks passed
@Mtrya
Mtrya deleted the release/0.4.2 branch July 29, 2026 08:57
@coderabbitai coderabbitai Bot mentioned this pull request Aug 7, 2026
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.

1 participant