Skip to content

fix(split): enforce deterministic inactive split-panel fallback#56

Merged
robkam merged 3 commits into
mainfrom
task/inactive-split-selection-semantics
May 20, 2026
Merged

fix(split): enforce deterministic inactive split-panel fallback#56
robkam merged 3 commits into
mainfrom
task/inactive-split-selection-semantics

Conversation

@robkam
Copy link
Copy Markdown
Owner

@robkam robkam commented May 19, 2026

Summary

  • enforce deterministic inactive-panel fallback behavior for mirrored split-tree updates
  • add focused regressions for mirrored collapse, delete invalidation, and non-invalidating add flows
  • harden AI workflow autonomy rules to require immediate worker-completion handling with proactive polling

Changes

  • src/ui/dir_ops.c
    • preserve inactive selection identity by path where still valid
    • resolve invalidated inactive selection with deterministic order: nearest visible ancestor, next sibling, previous sibling, root
  • tests/test_panel_isolation.py
    • add mirrored delete fallback regression coverage
    • add mirrored add non-invalidation regression coverage
  • docs/ai/WORKFLOW.md, .ai/shared.md
    • require proactive polling/waiting of active workers
    • require immediate completion handling sequence (read report, validate, close worker, proceed, update maintainer)

Verification

  • source .venv/bin/activate && pytest tests/test_panel_isolation.py -k "mirrored or inactive_selection or dotfiles_toggle"
  • source .venv/bin/activate && pytest tests/test_panel_isolation.py
  • make clean && make

@github-actions github-actions Bot added the size/M PR changed lines 201-400 label May 19, 2026
@robkam robkam force-pushed the task/inactive-split-selection-semantics branch from 992c9f5 to 430647e Compare May 20, 2026 10:37
@robkam robkam changed the title Enforce deterministic inactive split-panel fallback and harden AI completion autonomy Enforce deterministic inactive split-panel fallback May 20, 2026
@robkam robkam force-pushed the task/inactive-split-selection-semantics branch from 430647e to cea9df9 Compare May 20, 2026 11:27
@robkam robkam marked this pull request as ready for review May 20, 2026 14:27
@robkam robkam merged commit e518acd into main May 20, 2026
14 checks passed
@robkam robkam deleted the task/inactive-split-selection-semantics branch May 20, 2026 14:27
@robkam robkam changed the title Enforce deterministic inactive split-panel fallback fix(split): enforce deterministic inactive split-panel fallback May 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/M PR changed lines 201-400

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant