Repository navigation
Fix stale opencv-python macOS x86_64 licence claim - #23
Merged
Merged
Conversation
CLAUDE.md and the research notes generalised a headless-only finding
("macOS x86_64 has no FFmpeg") to opencv-python at large. Measured
directly (wheel download + strings/otool, no install): opencv-python
==4.12.0.88 macOS x86_64 bundles the same GPL-3.0-or-later ffmpeg as
arm64 (libx264/libx265, --enable-gpl), while ==5.0.0.93 on the same
platform ships none. Corroborated by reeleehq/paces#19.
The ledger (looks/data/provider_terms.json) gains two version-pinned
rows for pypi:opencv-python@macosx_x86_64, deriving UNKNOWN for
4.12.0.88 (same open in-process-coupling question as the arm64 rows)
and PERMISSIVE for 5.0.0.93 via the existing classify() machinery --
no new tier-detection code, since looks never actually depends on
opencv (it is a documented refusal, not a live dependency).
Claude-Session: https://claude.ai/code/session_01UTgrLvW3iCB26444844uMZ
Review of PR #23: the correction section wrote 93 dylibs for the opencv-python==4.12.0.88 x86_64 wheel (copy-pasted from the arm64 row); actual count is 66. Also runs ruff format over the one new test hunk (the rest of the file's formatting drift is pre-existing and out of scope here). Claude-Session: https://claude.ai/code/session_01UTgrLvW3iCB26444844uMZ
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.
Closes #21.
What was wrong
CLAUDE.md's non-negotiables section claimed opencv-python's macOS x86_64 wheel "bundles no FFmpeg at all". That was a silent generalisation of aopencv-python-headless-only finding (note 08 + its adversarial review) toopencv-pythonat large — the two distributions were never separately measured on that platform, and they disagree.What was measured (this PR, first-hand, no install — wheel download +
strings/dylib inspection)opencv-python==4.12.0.88macOS x86_64libx264/libx265,--enable-gpl --enable-version3)opencv-python==5.0.0.93macOS x86_64Independently corroborated for 4.12.0.88 in
thorwhalen/paces#19. So on macOS x86_64 the tier is a property of the wheel version, not just the platform or the headless/non-headless split — nothing between the two measured versions was checked, and that gap is now recorded as unverified.What changed
looks/data/provider_terms.json— two new version-pinned ledger rows:pypi:opencv-python==4.12.0.88@macosx_x86_64(derivesUNKNOWN, same open in-process-coupling question as the arm64 rows) andpypi:opencv-python==5.0.0.93@macosx_x86_64(derivesPERMISSIVE). No new Python logic —classify()already handles this shape;looksnever actually depends on opencv, so there is no tier-detection code to fix, only the ledger and the docs that summarise it.looks/tests/test_licence.py— the two new rows are pinned intest_every_row_derives_the_position_it_was_transcribed_with, plus a newtest_the_same_platform_disagrees_across_wheel_versions.CLAUDE.md,docs/decisions_and_rationale.md(§5.7 table + unverified-rows line + the remedies line in the coupling-question row),docs/research/README.md— corrected to state the per-version fact.docs/research/08_opencv_and_python_deps.md,docs/research/00e_the_flatten_tension.md— append-only corrections (repo convention: a review correction wins over body text, body text is not rewritten).No new dependency. No breaking change — this only adds ledger rows and narrows a doc claim; nothing was removed or renamed.
Testing
pytest --doctest-modules looks: 1357 passed, 3 skipped.ruff check .andruff format --check .: clean.https://claude.ai/code/session_01UTgrLvW3iCB26444844uMZ