#1133

fix(examples): resolve source-to-report release dependencies locally

Openiamgpwants to merge intofrom

Goal and scope

Fix the Release PR failure. ReleaseX updates example pins before publication, but source-to-report resolved Phlo from PyPI and could not find the unpublished version.

Change map and risk

  • Add checkout source mappings matching the other lakehouse examples.
  • Regenerate the source-to-report lockfile with editable Phlo sources. All 198 locked package versions remain unchanged.
  • Also fix the lineage ULID ordering race that blocked the merge queue. No release workflow or publication behaviour changes.

Verification

  • Reproduced the resolver failure in a temporary copy using unpublished phlo==99.1.0. With the fix, the real release transformer resolved that version from the checkout, reported the changed lockfile, and made no changes on a second run. This configuration-only fix uses that real-resolver check and the existing release-tooling tests rather than adding a duplicate synthetic test.
  • make setup and make check passed.
  • make check-example-locks passed.
  • uv run --locked pytest tests/tooling/test_release_replacements.py -q: 5 passed.
  • uv sync --locked --directory examples/lakehouses/source-to-report passed.
  • uv run --locked --directory examples/lakehouses/source-to-report pytest -m 'not slow' -q: 37 passed.
  • git diff --check passed.

These are local checks, not release qualification. The hosted Release PR workflow has not been rerun.

Recovery and maintainer decisions

Revert the manifest and lockfile together to undo the example change. Revert the lineage follow-up commit to undo the ID ordering guard. No migration, publication, or shared-setting change is involved. No independent review has been performed. Merge remains a maintainer decision.

Merge-queue follow-up

The merge-queue run failed in the existing lineage ID ordering test. The ULID library samples time separately for the timestamp and randomness, allowing a rollover to reset randomness while retaining the previous millisecond prefix.

The follow-up commit preserves strictly increasing row IDs within a process using a lock and a monotonic floor. The existing sorting test now deterministically covers a stable millisecond, a rollover inside generation, and a rollover between IDs. The forced internal rollover failed on the original implementation and passes with the fix.

Verification for the follow-up:

  • Full make check passed again.
  • All 67 non-integration lineage tests passed.
  • Focused Ruff lint, formatting, and type checks passed.
  • A threaded check generated 80,000 unique IDs across eight threads, with strict ordering within each thread.

The updated commit needs fresh hosted CI. The PR has not been requeued or merged.


Activity

295
coldtea-pr-lens[bot]4d ago

Architecture


Data flow

No data-flow sequence changed in this PR.


Review

1 finding on the diff · reviewed 04e4118

TIP

Click the link under each diagram to open it on a canvas you can zoom, pan and step through

🪧 More tips
  • Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."
  • Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change
  • Open a diagram on the canvas, then press W or click play to walk through the change one step at a time
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture and data flow row. Drawing still runs as before
  • Set github.draw: on-demand in .github/pr-lens.yml and PR Lens stops drawing pull requests on its own. Comment @pr-lens draw on a pull request when you want that one drawn
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works
  • After a push, tick Redraw to draw the latest commit
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion
  • Set github.description: false in .github/pr-lens.yml to stop PR Lens adding buttons to your PR descriptions

Thanks for using PR Lens! It's free for OSS. If it helped, a star helps other teams find it. 

coldtea-pr-lens[bot]reviewed4d ago
coldtea-pr-lens[bot]reviewed4d ago