Skip to content

chore: promote staging to staging-promote/86a9d0bd-24396179464 (2026-04-14 14:33 UTC) - #2461

Merged
henrypark133 merged 5 commits into
mainfrom
staging-promote/b6f5da88-24404973909
Apr 18, 2026
Merged

henrypark133 merged 5 commits into
mainfrom
staging-promote/b6f5da88-24404973909

Conversation

@ironclaw-ci

@ironclaw-ci ironclaw-ci Bot commented Apr 14, 2026 •

Copy link
Copy Markdown
Contributor

Auto-promotion from staging CI

Batch range: a53eac5c2dec6b6cd5c08189086093fde64aa9cb..b6f5da88a7bff1c2b2485e6c342787429bdcb056
Promotion branch: staging-promote/b6f5da88-24404973909
Base: staging-promote/86a9d0bd-24396179464
Triggered by: Staging CI batch at 2026-04-14 14:33 UTC

Commits in this batch (30):

Current commits in this promotion (5)

Current base: staging-promote/86a9d0bd-24396179464
Current head: staging-promote/b6f5da88-24404973909
Current range: origin/staging-promote/86a9d0bd-24396179464..origin/staging-promote/b6f5da88-24404973909

Auto-updated by staging promotion metadata workflow

Waiting for gates:

  • Tests: pending
  • E2E: pending
  • Claude Code review: pending (will post comments on this PR)

Auto-created by staging-ci workflow

G7CNF and others added 5 commits April 14, 2026 16:48
* docs(setup): warn about telegram open mode split identity

* Update src/setup/channels.rs

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* fix(setup): use idiomatic telegram mode check

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…1852) (#2315)

* fix(ux): actionable error messages and improved CLI help for issue #1852

AuthFailed errors now include provider-specific guidance (which env var
to set, relevant URLs, and how to run `ironclaw onboard --step provider`).
CLI help text improved across top-level, onboard, models, config, and
doctor commands to help new users discover the setup wizard and provider
configuration commands. `models set-provider` now warns when an API key
is missing after switching providers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* test(llm): snapshot coverage for rendered AuthFailed messages per provider

Addresses PR #2315 review note: auth error text is now policy-bearing
product guidance and warrants explicit coverage so future edits are
deliberate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(cli): use secrets-aware optional_env for API key check

Addresses PR #2315 review: API key warning now checks the secrets
store overlay via optional_env() instead of raw std::env::var(),
preventing false "API key required" warnings for users who stored
keys via `ironclaw secrets`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: more strict check for registry to avoid false positives

By default ironclaw gets installed in ~/.cargo/bin/ironclaw, if
the user happens to try to compile anything (e.g. their own tool)
then the ~/.cargo/registry folder gets created, which makes
ironclaw think that it found an (empty) registry, and thus stops
being able to do list or install tools from its internal registry

* fix: comment

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Guillermo Alejandro Gallardo Diez <gagdiez@iR2.local>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…top-level LlmConfig (#1749)

* refactor(llm): promote decorator chain settings from NearAiConfig to top-level LlmConfig

* review: add env var override/fallback tests and update module spec

---------

Co-authored-by: Firat Sertgoz <f@nuff.tech>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Store a reqwest::Client in CustomTunnel and reuse it across health
check calls instead of creating a new client on every invocation.
This avoids repeated TLS/connection-pool setup overhead.

CustomTunnel::new() now returns Result<Self> so the client builder
error is propagated rather than silently falling back.

Co-authored-by: willamhou <willamhou@ceresman.com>
@github-actions github-actions Bot added scope: channel/cli TUI / CLI channel scope: llm LLM integration scope: setup Onboarding / setup scope: docs Documentation size: XL 500+ changed lines risk: high Safety, secrets, auth, or critical infrastructure contributor: core 20+ merged PRs labels Apr 14, 2026
@claude

claude Bot commented Apr 14, 2026

Copy link
Copy Markdown

Code review

Found 3 issues:

  1. [MEDIUM:70] LLM Config promotion mixes concerns — decorator chain settings (max_retries, circuit_breaker_threshold, etc.) moved from NearAiConfig to top-level LlmConfig. This conflates provider-specific defaults with global decorator chain configuration. The fallback logic is sound, but this architectural shift could confuse future maintainers about where these settings belong. Consider documenting in CLAUDE.md that these are now global LLM settings, not provider-specific.

https://github.com/anthropics/ironclaw/blob/2d26dfe07af9d7ddb48f772a0cf4c7526e523e24/src/config/llm.rs#L371-L425

  1. [MEDIUM:60] Missing integration tests for LLM config fallback behavior — The config code implements fallback from LLM_* to NEARAI_* env vars (e.g., LLM_MAX_RETRIES → NEARAI_MAX_RETRIES → default). Current tests are unit-level only. Per CLAUDE.md testing rules, tests should drive the caller (LlmConfig::resolve) with various env combinations to verify: LLM_MAX_RETRIES overrides NEARAI_MAX_RETRIES, omitting both uses defaults, and invalid values are caught.

https://github.com/anthropics/ironclaw/blob/2d26dfe07af9d7ddb48f772a0cf4c7526e523e24/src/config/llm.rs#L1818-1843

  1. [MEDIUM:55] build.rs rerun-if-changed additions may conflict with per-file watches — The PR adds three directory-level watches (registry/tools, registry/channels, registry/mcp-servers). The comment mentions per-file watches are "emitted inside collect_json_files()", but the diff doesn't show that function. If collect_json_files() already watches individual files, these directory watches are correct. If not, per-file granularity is lost. Verify that both mechanisms coexist correctly and document their interaction.

https://github.com/anthropics/ironclaw/blob/2d26dfe07af9d7ddb48f772a0cf4c7526e523e24/build.rs#L129-L132

Note: One pre-existing issue was noted (misleading circuit_breaker_threshold error message for 0 value) but is outside this PR's scope.

Base automatically changed from staging-promote/86a9d0bd-24396179464 to main April 18, 2026 00:59
@henrypark133
henrypark133 merged commit b6f5da8 into main Apr 18, 2026
54 of 69 checks passed
@henrypark133
henrypark133 deleted the staging-promote/b6f5da88-24404973909 branch April 18, 2026 01:00

This branch had an error being deployed

1 failed and 2 inactive deployments
humble-cat / staging-cameron — b6f5da88 Deployed Apr 14, 2026 by railway-app[bot]
ironclaw-nearai / production — b6f5da88 Deployed Apr 14, 2026 by railway-app[bot]
venice-ironclaw / production — b6f5da88 Deployed Apr 14, 2026 by railway-app[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: high Safety, secrets, auth, or critical infrastructure scope: channel/cli TUI / CLI channel scope: docs Documentation scope: llm LLM integration scope: setup Onboarding / setup size: XL 500+ changed lines staging-promotion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants