chore: sync main back to develop after v3.3.6 release - #1615
Merged
Conversation
…ot paths Two release-blocking fixes for v3.3.6: 1. CI ruff pin drift .github/workflows/ci.yml installed ruff==0.15.9 while pyproject.toml [dev] extras and .pre-commit-config.yaml both pin 0.15.14. Ruff's formatter output can change between minor versions, so a contributor running `pip install -e ".[dev]"` and formatting locally with 0.15.14 would produce output the 0.15.9 lint job rejects. Same failure mode that surfaced on PR #1579 (2026-05-22). Aligning CI to 0.15.14 keeps the three pin sites in lock-step. 2. COCA filter imports inside per-drawer hot paths PR #1605 (COCA content-word filter, shipping in 3.3.6) introduced `from .entity_detector import _get_coca_filter` and `from .palace import _candidate_entity_words` inside _extract_entities_for_metadata (called per drawer) and build_closet_lines (called per closet). Python caches module imports so the runtime cost after the first call is small, but the import machinery still runs Python bytecode every invocation — gemini flagged this on the original PR. Hoisting to module-level removes the per-call import overhead. The hoist is identical to PR #1612, which targets develop. Folding it into the release so 3.3.6 doesn't ship the perf regression that 3.3.7 would immediately have to fix. Verification: ruff check + format clean on 0.15.14, full pytest (2258 passed / 12 skipped) on Linux Py 3.9 / 3.11 / 3.13 via `pip install -e ".[dev]"` (CI-matching).
fix(release): align ruff pin to 0.15.14 + hoist COCA imports out of hot paths
Release v3.3.6
Brings in the three commits that landed on main during the v3.3.6 release cycle but not on develop: - 62a555c fix(release): align ruff pin to 0.15.14 + hoist COCA imports out of hot paths (#1614) - a1cf052 Merge pull request #1614 from MemPalace/fix/release-3.3.6-ruff-pin-align - db1fbe8 Merge pull request #1610 from MemPalace/release/3.3.6 Resolves conflicts in miner.py and palace.py where develop's #1613 (known-systems lexicon, Tier 3) had added _apply_known_systems_prepass to module-top imports + the prepass call in build_closet_lines. Main side had only the COCA hoist from #1614. Resolution: keep develop's side (the prepass additions). Mirrors the v3.3.5 sync-back pattern (#1442).
Contributor
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
Contributor
There was a problem hiding this comment.
Pull request overview
Syncs the v3.3.6 release tail from main back into develop, primarily to keep CI tooling consistent with the released configuration.
Changes:
- Bumps the GitHub Actions CI
ruffpin from0.15.9to0.15.14. - Aligns the CI
ruffpin with the existingpyproject.tomldevpins (so local.[dev]and CI lint/format match).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
Closes the release cycle for v3.3.6 by bringing the three main-only commits back to develop:
#1614's COCA-hoist work is functionally equivalent to #1612 (which already landed on develop), so that part is a no-op on develop. The novel content arriving is the ruff pin (0.15.9 → 0.15.14) in `.github/workflows/ci.yml`.
Conflicts resolved
`miner.py` and `palace.py` had import-line + prepass-call collisions where develop's #1613 (Tier 3 known-systems lexicon) added `_apply_known_systems_prepass` that main doesn't have. Resolution kept develop's side — main was missing the prepass entirely.
Verified locally: `ruff check` clean, `ruff format --check` clean, `tests/test_miner.py + test_palace.py + test_entity_detector.py` → 179 passed.
Test plan
mempalace read— consume closet pointer, return surgical slice #1588 (`read` CLI verb) back to develop for v3.3.7