Skip to content

refactor(inference): route local AI through TinyAgents RPC - #5240

Merged
senamakel merged 18 commits into
tinyhumansai:mainfrom
senamakel:inference-rpc-cutover
Jul 28, 2026
Merged

refactor(inference): route local AI through TinyAgents RPC#5240
senamakel merged 18 commits into
tinyhumansai:mainfrom
senamakel:inference-rpc-cutover

Conversation

@senamakel

@senamakel senamakel commented Jul 28, 2026

Copy link
Copy Markdown
Member

Summary

  • Route local chat, prompts, summaries, and autocomplete through TinyAgents ChatModel.
  • Route Ollama embeddings through TinyAgents OllamaEmbeddingModel.
  • Move Ollama/LM Studio endpoint and auth intelligence into TinyAgents.
  • Remove 500+ lines of duplicate local provider wire types and response parsing.

Problem

OpenHuman maintained parallel Ollama and LM Studio inference clients despite TinyAgents already owning the provider-neutral model and embedding transports. This duplicated authentication, endpoint normalization, reasoning parsing, usage handling, and error behavior while keeping local inference coupled to the application core.

Solution

OpenHuman now resolves configuration and delegates out-of-process inference over local HTTP to TinyAgents. Lifecycle and model-catalog administration remain in OpenHuman for now. Depends on tinyhumansai/tinyagents#79.

Submission Checklist

  • Tests added or updated (happy path + at least one failure / edge case) per Testing Strategy
  • Diff coverage ≥ 80% — changed lines are exercised by existing inference tests plus the new TinyAgents provider constructor test; CI coverage is authoritative
  • N/A: behaviour-only change; no coverage-matrix feature rows added, removed, or renamed
  • N/A: no affected feature IDs were added or removed
  • No new external network dependencies introduced; inference continues to use configured local HTTP endpoints
  • N/A: no release-manual smoke surface changed
  • N/A: no tracking issue supplied; dependency PR is linked below

Impact

Desktop/core local inference keeps its existing RPC surface and configuration. Local chat and embeddings now share TinyAgents transport behavior. No migration is required.

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

Linear Issue

  • Key: N/A
  • URL: N/A

Commit & Branch

  • Branch: inference-rpc-cutover
  • Commit SHA: 10107e57ebef1a34ba98229df2958c080bbf5a90

Validation Run

  • N/A: frontend formatting unchanged
  • N/A: TypeScript unchanged
  • Focused tests: cargo test local_runtime_presets_normalize_endpoint_and_model --lib in TinyAgents
  • Rust fmt/check (if changed): cargo fmt --all; GGML_NATIVE=OFF cargo check --manifest-path Cargo.toml
  • N/A: Tauri unchanged

Validation Blocked

  • command: OpenHuman focused inference test binary final link
  • error: no compiler error; stopped after prolonged resource-heavy linking once full cargo check passed
  • impact: CI will run the authoritative changed-file Rust tests and coverage gate

Behavior Changes

  • Intended behavior change: local model and embedding calls use TinyAgents provider clients
  • User-visible effect: none intended; errors and reasoning parsing become consistent with the harness path

Parity Contract

  • Legacy behavior preserved: public RPC methods, model selection, scheduler gating, bootstrap, and status updates
  • Guard/fallback/dispatch parity checks: disabled-runtime and empty-input guards remain host-side; lifecycle/model availability checks remain unchanged

Duplicate / Superseded PR Handling

  • Duplicate PR(s): None
  • Canonical PR: This PR
  • Resolution (closed/superseded/updated): N/A

Summary by CodeRabbit

  • New Features

    • Added unified local model inference across supported LM Studio and Ollama configurations.
    • Improved local embedding support, including automatic dimension selection for supported models.
    • Token usage information is now captured when available.
  • Improvements

    • Local chat and generation now use consistent request handling and response validation.
    • Empty responses are handled consistently according to configuration.
    • Message conversion now preserves tool-message trust settings safely.

@senamakel
senamakel requested a review from a team July 28, 2026 05:22

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 44 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 211063d8-360f-4e37-ada3-87f0ea17e039

📥 Commits

Reviewing files that changed from the base of the PR and between 96a28ec and 0b2b74f.

📒 Files selected for processing (13)
  • src/openhuman/inference/local/lm_studio.rs
  • src/openhuman/inference/local/ollama.rs
  • src/openhuman/inference/local/service/lm_studio.rs
  • src/openhuman/inference/local/service/mod.rs
  • src/openhuman/inference/local/service/model_rpc.rs
  • src/openhuman/inference/local/service/public_infer.rs
  • src/openhuman/inference/local/service/public_infer_tests.rs
  • src/openhuman/inference/local/service/vision_embed.rs
  • tests/raw_coverage/inference_local_services_round21_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_provider_raw_coverage_e2e.rs
  • tests/raw_coverage/inference_round26_raw_coverage_e2e.rs
  • tests/raw_coverage/tools_approval_channels_raw_coverage_e2e.rs
  • vendor/tinyagents
📝 Walkthrough

Walkthrough

Local chat, generation, and embedding paths now use TinyAgents-backed model interfaces. Provider-specific LM Studio and Ollama HTTP models and calls are removed, while tool-message fixtures and Ollama message traits are updated for the new interfaces.

Changes

Local inference migration

Layer / File(s) Summary
Provider model contracts
vendor/tinyagents, src/openhuman/inference/local/lm_studio.rs, src/openhuman/inference/local/ollama.rs, src/openhuman/inference/local/service/lm_studio.rs
TinyAgents is updated; obsolete LM Studio and Ollama request/response types and LM Studio completion handling are removed.
Unified model RPC boundary
src/openhuman/inference/local/service/mod.rs, src/openhuman/inference/local/service/model_rpc.rs
A shared RPC function selects LM Studio or Ollama models, invokes TinyAgents requests, validates replies, and extracts token usage.
Chat and generation integration
src/openhuman/inference/local/service/public_infer.rs
History chat and temperature-based inference convert prompts to TinyAgents messages and delegate execution to the shared RPC layer.
Embedding harness integration
src/openhuman/inference/local/service/vision_embed.rs
Embedding calls use TinyAgents’ Ollama embedding model with model-specific dimensions and context options.
Tool message conversion
src/openhuman/agent/message_convert.rs
Tool messages and related fixtures explicitly initialize trusted_verbatim to false.

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

Sequence Diagram(s)

sequenceDiagram
  participant InferenceService
  participant model_rpc
  participant TinyAgentsModel
  InferenceService->>model_rpc: Build messages and invoke
  model_rpc->>TinyAgentsModel: Send ModelRequest
  TinyAgentsModel-->>model_rpc: Return reply and usage
  model_rpc-->>InferenceService: Return ModelRpcOutcome
Loading

Possibly related PRs

Suggested labels: feature, rust-core

Suggested reviewers: m3ga-mind

Poem

A rabbit hops where local models gleam,
TinyAgents carry every stream.
Old HTTP paths fade from sight,
Embeddings bloom in vectors bright.
Tool messages thump: “false” just right!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% 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 main change: routing local inference through TinyAgents RPC.
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.

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

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 10107e57eb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/vision_embed.rs Outdated

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2fd6950d16

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/public_infer.rs Outdated
@senamakel
senamakel force-pushed the inference-rpc-cutover branch from 2fd6950 to 96a28ec Compare July 28, 2026 06:22

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@coderabbitai coderabbitai Bot added feature Net-new user-facing capability or product behavior. rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure. labels Jul 28, 2026

@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: 3

🧹 Nitpick comments (2)
src/openhuman/agent/message_convert.rs (1)

114-118: 🔒 Security & Privacy | 🔵 Trivial | 💤 Low value

Correct default — converted tool history should not be trusted verbatim.

The fallback branch at Line 113 wraps arbitrary unparsed content, so false is the right conservative value here.

Nit: no test pins this. seeded_native_tool_round_recovers_structure_and_round_trips (Lines 445-450) already destructures the converted ToolMessage, so assert!(!tm.trusted_verbatim); there would lock in the security intent cheaply.

🤖 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/openhuman/agent/message_convert.rs` around lines 114 - 118, Keep
trusted_verbatim set to false in the fallback ToolMessage conversion for
unparsed content. Update
seeded_native_tool_round_recovers_structure_and_round_trips to assert that the
destructured converted ToolMessage has trusted_verbatim disabled.
src/openhuman/inference/local/service/vision_embed.rs (1)

308-313: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Helper is covered, but the rewritten embed RPC path still has no asserting test.

embed_against_mock_returns_vectors_with_dimensions (Lines 253-282) discards its result with let _ = result;, so the switch to OllamaEmbeddingModel is exercised without verifying vector count, dimensions, or error mapping. Worth tightening that mock test to assert on the returned LocalAiEmbeddingResult now that the wire handling moved to the harness.

Nit: the bge-m3 case really pins DEFAULT_OLLAMA_DIMENSIONS rather than a bge-m3-specific rule; asserting against the constant would keep the intent clear if TinyAgents ever changes its default.

As per coding guidelines, "Add tests for new or changed behavior; untested code is incomplete."

🤖 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/openhuman/inference/local/service/vision_embed.rs` around lines 308 -
313, Strengthen embed_against_mock_returns_vectors_with_dimensions by asserting
the returned LocalAiEmbeddingResult: verify the expected vector count, embedding
dimensions, and error mapping from the mock RPC response. Keep the existing
OllamaEmbeddingModel harness coverage, and update the bge-m3 assertion in
embedding_dimensions_match_supported_legacy_models to use
DEFAULT_OLLAMA_DIMENSIONS rather than duplicating its numeric value.

Source: Coding guidelines

🤖 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 `@src/openhuman/inference/local/service/model_rpc.rs`:
- Around line 62-76: Add focused unit tests for the RPC boundary decision logic
in local_model and invoke. Use Config-only cases to cover local_model provider
branch selection, test invoke’s allow_empty gate, and verify zero input/output
usage values become None while positive values are preserved in ModelRpcOutcome.
- Around line 21-33: Add verbose, grep-friendly diagnostics around the new local
RPC boundary, updating local_model and invoke to log entry and exit, the
selected LocalAiProvider branch, resolved endpoints, external model calls, and
failure paths. Use redact_ollama_base_url for Ollama endpoints and equivalent
safe handling for LM Studio, ensuring API keys, secrets, and full PII are never
logged; preserve the existing error propagation and model-selection behavior.

In `@src/openhuman/inference/local/service/vision_embed.rs`:
- Around line 17-27: Update embedding_dimensions so unknown or user-managed
model IDs are not assigned DEFAULT_OLLAMA_DIMENSIONS; either add explicit
mappings for supported models or derive the dimension from the embedding
response. Ensure the resolved model ID and dimension are emitted at debug level,
using effective_embedding_model_id and the existing embedding flow.

---

Nitpick comments:
In `@src/openhuman/agent/message_convert.rs`:
- Around line 114-118: Keep trusted_verbatim set to false in the fallback
ToolMessage conversion for unparsed content. Update
seeded_native_tool_round_recovers_structure_and_round_trips to assert that the
destructured converted ToolMessage has trusted_verbatim disabled.

In `@src/openhuman/inference/local/service/vision_embed.rs`:
- Around line 308-313: Strengthen
embed_against_mock_returns_vectors_with_dimensions by asserting the returned
LocalAiEmbeddingResult: verify the expected vector count, embedding dimensions,
and error mapping from the mock RPC response. Keep the existing
OllamaEmbeddingModel harness coverage, and update the bge-m3 assertion in
embedding_dimensions_match_supported_legacy_models to use
DEFAULT_OLLAMA_DIMENSIONS rather than duplicating its numeric value.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d64cad9a-9847-461b-a066-c59d59b3aebd

📥 Commits

Reviewing files that changed from the base of the PR and between 4ed193b and 96a28ec.

📒 Files selected for processing (9)
  • src/openhuman/agent/message_convert.rs
  • src/openhuman/inference/local/lm_studio.rs
  • src/openhuman/inference/local/ollama.rs
  • src/openhuman/inference/local/service/lm_studio.rs
  • src/openhuman/inference/local/service/mod.rs
  • src/openhuman/inference/local/service/model_rpc.rs
  • src/openhuman/inference/local/service/public_infer.rs
  • src/openhuman/inference/local/service/vision_embed.rs
  • vendor/tinyagents
💤 Files with no reviewable changes (2)
  • src/openhuman/inference/local/ollama.rs
  • src/openhuman/inference/local/lm_studio.rs

Comment thread src/openhuman/inference/local/service/model_rpc.rs
Comment thread src/openhuman/inference/local/service/model_rpc.rs
Comment thread src/openhuman/inference/local/service/vision_embed.rs Outdated

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 426b2bafe4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/vision_embed.rs Outdated

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d4a62158dd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/model_rpc.rs

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9431c45df8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/model_rpc.rs Outdated

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0a2632037d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/openhuman/inference/local/service/model_rpc.rs

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 28, 2026

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

senamakel has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@senamakel
senamakel merged commit 861b21c into tinyhumansai:main Jul 28, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Net-new user-facing capability or product behavior. rust-core Core Rust runtime in src/: CLI, core_server, shared infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant