fix(workspace): jugar-probar dep needs version for clean-room A0 path-strip (Refs PMAT-157)#900
Closed
noahgift wants to merge 1 commit into
Closed
fix(workspace): jugar-probar dep needs version for clean-room A0 path-strip (Refs PMAT-157)#900noahgift wants to merge 1 commit into
noahgift wants to merge 1 commit into
Conversation
Clean-Room CI (paiml/infra run 24622014067) fails at Gate A1 with:
error: failed to load manifest for workspace member
`/build/aprender/crates/aprender-qa-runner`
Caused by: dependency (jugar-probar) specified without providing a
local path, Git repository, version, or workspace dependency to use
Root cause: Gate A0 strips all `path = "..."` attributes (simulate cargo
publish). The `jugar-probar` dep in `aprender-qa-runner/Cargo.toml` had:
jugar-probar = { path = "../aprender-test-lib",
package = "aprender-test-lib",
features = ["llm-types"] }
After path-strip → `{ package = "...", features = [...] }`, which has no
version/git/path/workspace — cargo rejects it at A1 `cargo generate-lockfile`.
Fix: add `version = "0.31.0"` alongside path so the stripped form has a
valid version to resolve (matches the pattern already used by
aprender-test-cli in the same workspace). Applied the same treatment to
`aprender-qa-gen` (symmetry) so both local-path deps in qa-runner follow
the clean-room-compatible `version = "X", path = "..."` pattern.
Also adds `publish = false` to aprender-qa-runner (internal QA harness,
reached via `apr qa`, never published to crates.io).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
noahgift
added a commit
that referenced
this pull request
Apr 19, 2026
…-strip (Refs PMAT-157) Clean-Room CI Gate A1 fails with: error: dependency (jugar-probar) specified without providing a local path, Git repository, version, or workspace dependency to use Root cause: `cargo publish` simulation strips `path = "..."` from every Cargo.toml. The original dep line had no `version = "X"`, so after strip there's nothing left for cargo to resolve. Fix: add `version = "0.31.0"` to the jugar-probar dep in aprender-qa-runner/Cargo.toml, matching the pattern used by sibling aprender-test-cli/Cargo.toml:27. Rebase of closed #900 after merge conflict with #901 (publish = false).
Contributor
Author
|
Superseded by rebased PR (clean apply on current main after #901 conflict) |
3 tasks
auto-merge was automatically disabled
April 19, 2026 07:46
Pull request was closed
noahgift
added a commit
that referenced
this pull request
Apr 20, 2026
…s PMAT-157) (#903) * fix(workspace): jugar-probar dep needs version for clean-room A0 path-strip (Refs PMAT-157) Clean-Room CI Gate A1 fails with: error: dependency (jugar-probar) specified without providing a local path, Git repository, version, or workspace dependency to use Root cause: `cargo publish` simulation strips `path = "..."` from every Cargo.toml. The original dep line had no `version = "X"`, so after strip there's nothing left for cargo to resolve. Fix: add `version = "0.31.0"` to the jugar-probar dep in aprender-qa-runner/Cargo.toml, matching the pattern used by sibling aprender-test-cli/Cargo.toml:27. Rebase of closed #900 after merge conflict with #901 (publish = false). * fix(tests): workspace-test false-positive on sibling detection (Refs PMAT-157) Three tests in aprender-contracts/src/query/ relied on `parent.join("aprender").exists()` to detect a local-dev environment with sibling repos. GitHub Actions checks repos out at /__w/<repo>/<repo>, so the parent directory *always* contains a child named `aprender` (the workspace itself) — the check false-positives in CI, the tests proceed expecting provable-contracts/contracts/aprender/binding.yaml, and fail. Fix: check for `provable-contracts` (a distinct sibling that never shares a name with the checked-out repo) instead of `aprender`. Local dev has provable-contracts alongside aprender; CI does not. Failing tests now fixed: - query::cross_project::tests::find_binding_path_real - query::cross_project::tests::binding_refs_for_aprender - query::coverage_tests::coverage_map_enrichment Verified locally: 3/3 pass with provable-contracts sibling present. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Clean-Room CI (paiml/infra run 24622014067) fails at Gate A1 with:
Root Cause (Five Whys)
cargo generate-lockfilerejectedaprender-qa-runner's manifest.jugar-probarhad no version/git/path/workspace after A0 strip.sed 's/path = "...", *//g'on every Cargo.toml (simulate cargo publish).version = "X":version = "X", path = "..."pattern (seeaprender-test-cli/Cargo.toml:27which already does it correctly).Fix
Add
version = "0.31.0"to both local-path deps inaprender-qa-runner/Cargo.toml, matching the workspace version and the pattern used by siblingaprender-test-cli. After A0 path-strip,versionremains, satisfying cargo.Also adds
publish = falseto the crate (internal QA harness reached viaapr qa; never published to crates.io) — this was added by the pmat pre-commit hook as a policy improvement.Verification
Simulated Clean-Room A0 + A1 locally on
/tmp/aprender-cleanroom-test:error: failed to load manifest for workspace member aprender-qa-runner(Gate A1 FAIL)cargo metadata --no-deps --offlinesucceeds, all 75 workspace members resolve includingaprender-qa-runner.Note: A subsequent, unrelated A1 error surfaces for
aprender-present-yaml = "^0.30.0"(candidate 0.29.0). That is a separate version-mismatch bug outside PMAT-157's scope.Test Plan
cargo check -p aprender-qa-runnerpasses locallycargo check --workspaceRefs: PMAT-157