The Clippy, Test and fmt steps ran with `working-directory: desktop/src-tauri`,
so cargo scoped them to the desktop PACKAGE. That was right while the desktop
was the only Rust in the repo. Extracting the core (M12 step 1) made it wrong
and nothing said so:
* the core's 89 tests have not run in CI since that extraction. They used to,
as part of the desktop crate, and moving the files out of that directory
quietly took them out of the lane.
* `android/ffi` was never compiled at all. I claimed the previous commit was
verified by this lane; it wasn't. Run 3928 went green without the word
"uniffi" appearing anywhere in its log.
Both crates still COMPILE, because the desktop depends on the core — which is
precisely why the hole was invisible. A green run kept meaning less than it
looked like it meant, and the tell was there to be read: the test output listed
`thoughtsync_desktop_lib` and nothing else.
Now run from the repo root with `--workspace` / `--all`. The lockfile gate keeps
its place on the first cargo invocation.
ci-requirements gains the rule and the reason, plus a note to check a new member
actually appears in the `cargo test` output rather than trusting the green.
Also corrects the lockfile procedure there to `cargo fetch` rather than
`cargo generate-lockfile`: both update the lockfile, but generate re-resolves
from scratch and bumps unrelated crates, turning a two-line manifest edit into
an unreviewable diff. fetch resolves minimally.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>