Skip to content

fix(workspace): jugar-probar dep needs version for clean-room A0 (Refs PMAT-157)#903

Merged
noahgift merged 3 commits into
mainfrom
fix/qa-runner-version-v2
Apr 20, 2026
Merged

fix(workspace): jugar-probar dep needs version for clean-room A0 (Refs PMAT-157)#903
noahgift merged 3 commits into
mainfrom
fix/qa-runner-version-v2

Conversation

@noahgift

Copy link
Copy Markdown
Contributor

Summary

Clean-room rebase of closed #900. Merge conflict with #901 (which added publish = false) blocked the original PR; this re-applies only the one-line version fix on current main.

Problem

Clean-Room CI Gate A1 in paiml/infra fails for aprender with:

error: dependency (jugar-probar) specified without providing a local
path, Git repository, version, or workspace dependency to use

Root Cause (Five Whys)

  1. Why A1 fail? cargo generate-lockfile rejected aprender-qa-runner's manifest.
  2. Why rejected? jugar-probar had no version/git/path/workspace after A0 strip.
  3. Why no path? Gate A0 runs sed 's/path = "...", *//g' on every Cargo.toml (simulate cargo publish).
  4. Why no version? Original line lacked version = "X":
    jugar-probar = { path = "../aprender-test-lib", package = "aprender-test-lib", features = ["llm-types"] }
  5. Why wasn't this caught? Crate added after workspace established the version = "X", path = "..." pattern (see aprender-test-cli/Cargo.toml:27).

Fix

Add version = "0.31.0" to the jugar-probar dep — matches the workspace version and the sibling aprender-test-cli pattern. After A0 path-strip, version remains, satisfying cargo.

Test Plan

Refs: PMAT-157, closes #900

…-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).
noahgift and others added 2 commits April 20, 2026 11:31
…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>
@noahgift noahgift merged commit 629968e into main Apr 20, 2026
10 checks passed
@noahgift noahgift deleted the fix/qa-runner-version-v2 branch April 20, 2026 10:11
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