Skip to content

feat(licensing): canonical license path fallback + uv-minor-patch bump, SQLAlchemy 2.1 (#1940) - #2072

Merged
FabioLeitao merged 9 commits into
mainfrom
epic/boar-license-canonical-path
Oct 12, 2026
Merged

FabioLeitao merged 9 commits into
mainfrom
epic/boar-license-canonical-path

Conversation

@FabioLeitao

@FabioLeitao FabioLeitao commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Gate files

No file under .github/workflows/ and none of the tripwire gate files is touched, so no Gate-Change-Approved-By is needed.

Verification

  • ./scripts/check-all.sh exited 0 on this branch: pre-commit, pytest 3229 passed, 82 skipped, shellcheck, bats 11/11, Rust guard (20 tests), Bandit, Zizmor, Gitleaks strict.

  • Fail then pass ([P3][feat][licensing] DATA_BOAR_LICENSE_PATH: fallback ao path canônico org-wide quando não configurado #1940): with core/licensing/guard.py reverted to origin/main in a scratch copy, tests/test_license_canonical_path_fallback.py has 2 failures for the right reason (UNLICENSED, detail=missing_license_file instead of VALID: the canonical fallback and the whitespace-env case) and 5 passes (explicit env/config wins, no canonical file stays unlicensed, XDG). With the fix: 7 passed.

  • Driver check (deps: triar a #2062 (grupo uv-minor-patch, 42 pacotes): sqlalchemy 2.1 decodifica o nome do banco e pylock.toml fora de sincronia #2069), psycopg2 2.9.13 with SQLAlchemy 2.1.3, no network: for audit?hostaddr=10.0.0.9, audit hostaddr=10.0.0.9, audit host=10.0.0.9 and audit=foo, create_connect_args keeps host=db.example.com with no hostaddr, and make_dsn then parse_dsn keeps dbname literal. test_sqlalchemy_connect_args_dbname_cannot_override_peer_psycopg2 asserts that, so the security test is stronger than before, not weaker.

  • Windows test fix: d57c6440 test(licensing): make canonical path tests platform-aware (Windows APPDATA) isolates HOME, USERPROFILE and APPDATA and covers the linux, darwin and win32 branches of user_config_dir() on any OS.

Not verified

  • psycopg 3 and pg8000: not project dependencies and not used by _sqlalchemy_url (it builds the default postgresql:// URL, psycopg2). Not exercised; nothing was installed outside the lock to check them.
  • CI on this PR: hosted checks ran: 26 pass, 7 skipping (the expected skips), mergeStateStatus: CLEAN. The first run failed Test Windows (Python 3.12) with 4 tests: 3 were this PR's new tests (they assumed HOME/XDG, Windows resolves through APPDATA), fixed in d57c6440 with no change to core/licensing/. The 4th, tests/test_scan_abort_integrity.py::test_sqlite_localdbmanager_reopens_cleanly_after_abort ("subprocess not ready", fixed 10 s wait, subprocess stderr discarded), did not recur on the next run and its cause was not established; it was left untouched.
  • [P3][feat][licensing] DATA_BOAR_LICENSE_PATH: fallback ao path canônico org-wide quando não configurado #1940 QA_LOCAL_LICENSE on a real host: exercised by tests with an isolated HOME, not on a machine with a real ~/.config/databoar/license.jwt.

Notes

Closes #1940
Refs #2069
Refs #2062

🤖 Generated with Claude Code

https://claude.ai/code/session_0142QEjA7eEFcdXTpcTmcAZk

@FabioLeitao
FabioLeitao merged commit 054ba54 into main Oct 12, 2026
33 checks passed
@FabioLeitao
FabioLeitao deleted the epic/boar-license-canonical-path branch October 12, 2026 15:50
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.

[P3][feat][licensing] DATA_BOAR_LICENSE_PATH: fallback ao path canônico org-wide quando não configurado

1 participant