Skip to content

sc-lint 0.4.0 lint_sc_boundary.py runs 'cargo run -p sc-lint-boundary' against consumer workspace instead of installed binary #361

Description

@randlee

Root-caused during PR #358 review (FIX-358-REVIEW-ROOTCAUSE, comp2, 2026-08-11), replacing what every prior Phase K/L sprint treated as an unexplained "known pre-existing sc-boundary/sc-lint#84 gate."

Root cause

setup-sc-lint (the CI setup action) installs the sc-lint-boundary binary into the consumer workspace, but the pinned sc-lint 0.4.0 release's .just/lint_sc_boundary.py invokes it via:

cargo run -p sc-lint-boundary

sc-lint-boundary is a workspace member of the sc-lint tool's own repo, not of consumer workspaces like sc-compose (whose root Cargo.toml correctly only has sc-compose/sc-composer/sc-compose-py as members — this is not a bug in sc-compose). cargo run -p sc-lint-boundary fails with:

error: package(s) `sc-lint-boundary` not found in workspace `<consumer-repo-root>`

surfaced by the CLI as CLI.BACKEND_EXEC_FAILURE, causing just lint (and CI's "Run shared sc-lint contract" step) to fail on every platform, every sprint, since this was introduced.

Verification

  • Running the installed sc-lint-boundary binary directly against sc-compose passes with 0 findings (also confirmed for sc-lint-portability).
  • This is not fixable from the consumer side by registering a package — the source for sc-lint-boundary isn't vendored into consumer workspaces, only its compiled binary is installed.

Fix

lint_sc_boundary.py (or the sc-lint release itself) needs to invoke the already-installed sc-lint-boundary binary directly (e.g. resolve it from PATH/cargo-install bin dir) instead of shelling out to cargo run -p sc-lint-boundary in the consumer's workspace.

This is an sc-lint tool/release defect, not an sc-compose defect. No sc-compose PR should continue to carry this as a "known non-blocking" CI red herring once this is fixed upstream.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions