Skip to content

Commit e72963d

Browse files
Shahinyanmclaude
andcommitted
fix(ci): bump MSRV to 1.85 + ASCII-only fake-claude payload
After 640eb80 unblocked Linux+macOS, two CI lanes still failed: MSRV: pinning rmcp-macros to 0.3.1 surfaced clap_lex 1.1.0 as the next dep needing edition2024. The Rust ecosystem post-2025-02 widely adopted the 2024 edition; pinning every transitive crate is a losing race. Single MSRV bump 1.83 → 1.85 unblocks them all (1.85 is GA). Also reverts rmcp-macros pin so we track the latest 0.3.x patch. Windows: classifier_surfaces_not_logged_in_with_friendly_hint failed because the test envelope contained `·` (U+00B7). The fake-claude.cmd helper emits via `type` on the console code page, which mangles non- ASCII bytes before our UTF-8 decode. Real `claude` always emits UTF-8 directly, so this is a fake-only concern. Switched the test payload to ASCII `-` and added a comment explaining the constraint. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 640eb80 commit e72963d

6 files changed

Lines changed: 19 additions & 17 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@ jobs:
4444
RUSTDOCFLAGS: -D warnings
4545

4646
msrv:
47-
name: msrv (rust 1.83)
47+
name: msrv (rust 1.85)
4848
runs-on: ubuntu-latest
4949
steps:
5050
- uses: actions/checkout@v4
5151

52-
- name: Install Rust 1.83
53-
uses: dtolnay/rust-toolchain@1.83
52+
- name: Install Rust 1.85
53+
uses: dtolnay/rust-toolchain@1.85
5454

5555
- name: Cache cargo
5656
uses: Swatinem/rust-cache@v2
5757
with:
58-
key: msrv-1.83
58+
key: msrv-1.85
5959

6060
- name: cargo build (MSRV)
6161
run: cargo build --workspace --all-targets

CHANGELOG.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,12 @@ no more manual `bashrc` / `settings.json` edits to use `aimux`, `direnv`,
3434
interactive bash, so the env var was invisible to the classifier
3535
and 401s kept piling up in `pending/`. The `--classifier-command`
3636
flag closes that loop end-to-end.
37-
- CI: pinned `rmcp-macros` to `=0.3.1` so MSRV (Rust 1.83) builds
38-
again. `rmcp-macros 0.3.2` requires the `edition2024` Cargo
39-
feature, stabilized only in Rust 1.85+. Re-evaluate when MSRV is
40-
raised.
37+
- CI: bumped MSRV from Rust 1.83 to **1.85** (workspace
38+
`rust-version` + GitHub Actions toolchain). The ecosystem (`rmcp`,
39+
`clap_lex`, etc.) now ships transitive deps that require the
40+
`edition2024` Cargo feature, which only stabilized in 1.85.
41+
Pinning each one was a losing race; one MSRV bump unblocks them
42+
all. 1.85 has been GA since 2025-02 and is widely available.
4143
- CI: opened the JSONL append handle with `read(true)` in addition
4244
to `append(true)`. `fd_lock`'s `LockFileEx` on Windows requires
4345
GENERIC_READ access on the handle; without it tests panicked with

Cargo.lock

Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ members = [
99
[workspace.package]
1010
version = "0.2.5"
1111
edition = "2021"
12-
rust-version = "1.83"
12+
rust-version = "1.85"
1313
license = "MIT"
1414
authors = ["Mher Shahinyan"]
1515
repository = "https://github.com/Digital-Threads/Task-Journal"

crates/tj-core/src/classifier/cli.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,12 @@ mod tests {
182182
"type": "result",
183183
"subtype": "success",
184184
"is_error": true,
185-
"result": "Not logged in · Please run /login",
185+
// ASCII-only payload: Windows `type` (used by fake-claude.cmd)
186+
// emits via the console code page, which mangles non-ASCII bytes
187+
// (U+00B7 etc.) before our UTF-8 decode in `classify`. Real
188+
// `claude` always emits UTF-8 directly, so this is a fake-only
189+
// concern, not a production behavior change.
190+
"result": "Not logged in - Please run /login",
186191
});
187192
let fake = fake_claude(dir.path(), &envelope.to_string());
188193

crates/tj-mcp/Cargo.toml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ tokio = { workspace = true }
2222
tracing = { workspace = true }
2323
tracing-subscriber = { workspace = true }
2424
rmcp = { workspace = true }
25-
# Pin rmcp-macros to a version compiled with edition 2021 — 0.3.2 requires
26-
# `edition2024`, stabilized only in Rust 1.85, which breaks our MSRV (1.83).
27-
# Re-evaluate when MSRV is bumped to ≥1.85.
28-
rmcp-macros = "=0.3.1"
2925
serde = { workspace = true }
3026
serde_json = { workspace = true }
3127
schemars = { workspace = true }

0 commit comments

Comments
 (0)