Skip to content

fix(rust): pin mt-core/llm-cascade git deps — owner build was broken - #27

Closed
vitaliytv wants to merge 1 commit into
mainfrom
main-fix-owner-mt-core-dep
Closed

fix(rust): pin mt-core/llm-cascade git deps — owner build was broken#27
vitaliytv wants to merge 1 commit into
mainfrom
main-fix-owner-mt-core-dep

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Проблема

release-owner.yml падав на кожному прогоні (включно з новою owner@X.Y.Z
схемою і зі старою owner-v*) на кроці build із:

error: failed to get `mt-core` as a dependency of package `owner v0.1.0`
could not find `Cargo.toml` in `/Users/runner/.cargo/git/checkouts/mt-2ebc8b02ac64519d/3097c91`

Жоден owner-реліз від owner-v0.15.0 не отримав робочого DMG.

Корінь

Дві незакріплені (без rev) git-залежності з owner/src-tauri +
app/src-tauri + owner/owner-llm вказували на репо, які з тих пір
розділили/перейменували:

  1. mt-core: nitra/mt розділили на спеку (nitra/mt, лишився) і
    реалізацію (nitra/mt-rust, нове). crates/ на HEAD nitra/mt більше
    немає взагалі — тому кожен cargo build, який не зловив закешований
    правильний checkout, резолвив git-джерело в поточний HEAD nitra/mt
    (3097c91…) замість того, що фактично закріплено в Cargo.lock
    (03050b8…), і падав.
  2. llm-cascade: перейменований на llm-lib усередині nitra/7n-rules
    (llm-lib/crates/llm-cascadellm-lib/crates/llm-lib).

app/src-tauri іноді "проскакував" завдяки теплому rust-cache із часів,
коли nitra/mt ще мав потрібну структуру — тому цей PR більше про owner,
хоч зачіпає обидва Cargo.toml з mt-core.

Зміна

  • mt-core: git = "nitra/mt.git"git = "nitra/mt-rust.git" +
    явний rev (той самий патерн, що вже є в app/src-tauri/Cargo.toml
    для tauri-plugin-agent).
  • llm-cascadeowner/owner-llm/Cargo.toml): package = "llm-lib" +
    новий git/rev — локальна назва в Cargo.toml і всі use llm_cascade::…
    у коді лишаються без змін, Cargo сам аліасить перейменований пакет.
  • Cargo.lock перегенеровано під обидва джерела.

Test plan

  • cargo check --workspace — чисто
  • cargo test -p owner-llm — 6/6 passing
  • Після мержу: дочекатись release-owner.yml на наступному owner-релізі,
    підтвердити реальний DMG-артефакт (перший робочий з owner-v0.15.0)

Both `mt-core` (app/src-tauri, owner/src-tauri) and `llm-cascade`
(owner/owner-llm) depended on unpinned git sources. Both upstream repos
were restructured since:

- nitra/mt split into a spec-only repo (nitra/mt) plus an
  implementation repo (nitra/mt-rust) — mt-core moved to the latter.
  HEAD of nitra/mt no longer has any Cargo.toml at all, so any fresh
  git fetch that didn't hit Cargo.lock's pinned SHA resolved straight
  to a broken checkout: `could not find Cargo.toml in .../checkouts/...`.
- llm-cascade was renamed to llm-lib inside nitra/7n-rules (crate
  moved from llm-lib/crates/llm-cascade to llm-lib/crates/llm-lib).

This has been silently breaking owner's DMG build in CI for a while —
every recent release-owner.yml run failed at this exact step, and no
owner release since owner-v0.15.0 has shipped a working artifact.

Fix: point both git deps at their new homes with an explicit `rev`
(matching the existing tauri-plugin-agent convention in
app/src-tauri/Cargo.toml), so resolution no longer depends on what
happens to be at the remote's default-branch HEAD. owner-llm keeps
consuming the renamed crate under its old local name via Cargo's
`package = "llm-lib"` alias — no source changes needed, `llm_cascade::`
call sites are untouched.

Verified: `cargo check --workspace` clean, `cargo test -p owner-llm`
6/6 passing.
@vitaliytv

Copy link
Copy Markdown
Member Author

Дублює вже змерджений #26 (та сама першопричина — незакріплені mt-core/llm-cascade git-залежності — знайдена й пофіксена паралельно фоновою сесією раніше, ніж я допушив цей PR). #26 пінить rev на старому історичному коміті в nitra/mt / nitra/7n-rules (band-aid, робочий), тоді як цей PR переносив на нові актуальні репо nitra/mt-rust / перейменований llm-lib (більш forward-looking, але не терміново — #26 вже розблокував CI). Закриваю на користь #26.

@vitaliytv vitaliytv closed this Jul 27, 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