EngineeringDesktop verification
Proven verification commands
Catalogs build, binding, native-app, verification, and release commands proven by the desktop CI stack.
Summary
The desktop CI stack establishes the canonical build, binding, native-app, verification, and release command set.
Questions: exact build/test/lint/verify commands executor plans may cite for
crates (jackin-usage, jackin-usage-ffi), the boltffi bindings drift gate,
the Swift app, and release verification.
Informs: jackin-desktop
Method: codebase read (commands proven by CI green usage, not guessed)
Vetted: 2026-07-24
Findings
Crates tests
cargo nextest run -p jackin-usage -p jackin-usage-ffi --locked— exact CI command for therust-jackin-usage/rust-jackin-usage-ffiunits —.github/workflows/ci-pr.yml(group-rustdispatchesci-unit-rust.yml; per-crate commands in.github/ci/project.toml) (confidence: HIGH)- General runner and filters:
cargo nextest run,-E 'test(name)',--all-features—TESTING.md(confidence: HIGH)
Bindings drift gate
cargo xtask desktop bindings-check— desktop-cadence step,.github/workflows/desktop-cadence.yml(viamise run desktop-ci); requirescargo install boltffi_cli --version 0.30.1 --locked(CI installs it; misecargo:boltffi_cliprovidesboltffipernative/README.md) (confidence: HIGH)
App build / verify / run
cargo xtask desktop build --version "$JACKIN_APP_VERSION" --build "$JACKIN_APP_BUILD"→native/dist/JackinDesktop.app;cargo xtask desktop verify native/dist/JackinDesktop.app [zip]— desktop-cadence steps (mise run desktop-ci, viadesktop-merge/desktop-scheduled); operator wrappersmise run desktop-build|desktop-verify|desktop-run|desktop—mise.toml(confidence: HIGH)- The merge cadence also exercises the built app via UI tests
(
mise run desktop-test-ui, afterdesktop-ci) (confidence: HIGH)
Swift tests
cargo xtask desktop test(misedesktop-test,mise.toml); macOS-only guardrequire_macos("desktop test")—crates/jackin-xtask/src/desktop.rs:157; full-Xcode alternative printed by xtask:cd native && swift test -c release—crates/jackin-xtask/src/desktop.rs:197(confidence: HIGH)- Snapshot runner stability: GitHub's current official runner-image
catalog exposes macOS 26 GA under explicit
macos-26labels, while the movingmacos-latestalias was scheduled to transition in June 2026. Native system-font/SF-Symbol golden tests must use explicitmacos-26, freeze Dynamic Type/accessibility/animation inputs, and keep tolerant pixel comparison; otherwise the runner major can change without a source diff. — https://github.com/actions/runner-images#available-images (confidence: HIGH)
Workspace lint/fmt gates
cargo clippy --workspace --all-targets --all-features --locked -- -D warningsandcargo fmt— workspace baseline,crates/CLAUDE.md(removed in #956; consolidated into root AGENTS.md) (lint section); merge-readiness:cargo xtask ci/cargo xtask ci --fast—CONTRIBUTING.md(confidence: HIGH)
Release verification
cargo xtask desktop sign-notarize(misedesktop-sign-notarize),--releaseverify requires Developer ID + notarization/staple/Gatekeeper —native/README.md(build/verify + CI/release contracts tables); release artifact namingjackin-desktop-<VERSION>-aarch64-apple-darwin.zip—.github/workflows/release.yml:523-549(confidence: HIGH)
Dead ends and contradictions
- None; commands converge across mise.toml, xtask source, CI, and docs.
Limitations and open questions
- None load-bearing; notarization steps need org Apple secrets
(
release-macosenvironment — names only,native/README.md).