Skip to content

Honour stem/affix picks on the plan path (#117) - #226

Merged
MattGyverLee merged 1 commit into
mainfrom
fix-117-honour-stem-picks
Nov 2, 2026
Merged

MattGyverLee merged 1 commit into
mainfrom
fix-117-honour-stem-picks

Conversation

@MattGyverLee

Copy link
Copy Markdown
Owner

Decision

Option 1 (honour the picks), done on the live plan path rather than the unused categories_affixes stub. The wizard already folds Stem picks into leaf_item_picks[STEMS], which stems_enumerate_source filters on. The gap was Selection.stem_picks / affix_picks, which nothing read, so wizard affix picks and any direct Selection(stem_picks=...) still took every entry. Preview also said nothing about picks.

Changes

  • Selection.leaf_picks_for(STEMS/AFFIXES) falls back to a non-empty stem_picks / affix_picks (lower-cased). An explicit leaf_item_picks entry still wins. Empty picks mean transfer all. Closure dependencies are still pulled by the existing closure walk.
  • preview.lexicon_pick_notes, added to RunPlan.category_notes: "no stem picks set -- every stem entry ... is planned" vs "only the N picked stem entries planned (plus the dependencies they need)", for stems and affixes.
  • The xfail test_stem_picks_flow_into_compute_plan_owned_children is now a passing test, and the stale docstring in categories_affixes.py is updated.
  • Tests: tests/unit/test_117_honour_picks.py (new). test_issue84_lexicon_expansion.py was adjusted for the extra notes. The unit suite passes (5715 passed).

Live evidence (FLEXLIBS_REQUIRE_LIVE=1, Target restored from the Target 2026-07-06 backup, lock "Target-live-flex" held)

tests/integration/test_issue117_honour_picks_live.py (3 passed). The source is the private GT-Src-117, with 2 stems and 2 suffixes authored.

  • STEMS run with stem_picks={A}: Target gained only stem A. Stem B and both affixes were not transferred.
  • AFFIXES run with affix_picks={a}: Target gained only affix a. Affix b was not transferred.
  • Preview notes show "only the 1 picked stem entry" with picks and "no stem picks set" without.

closes #117

🤖 Generated with Claude Code

…set vs empty (#117)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@MattGyverLee
MattGyverLee merged commit 4886824 into main Nov 2, 2026
1 check passed
@MattGyverLee
MattGyverLee deleted the fix-117-honour-stem-picks branch November 2, 2026 05:13
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.

Stem/affix picks are collected by the wizard but ignored: STEMS transfers every stem (design decision)

1 participant