Skip to content

Fix runtime lifecycle cleanup and exact numeric sorting - #93

Merged
thunderballfists merged 4 commits into
mainfrom
fix/runtime-reliability
Oct 1, 2026
Merged

thunderballfists merged 4 commits into
mainfrom
fix/runtime-reliability

Conversation

@thunderballfists

Copy link
Copy Markdown
Owner

Fixes five lifecycle and sorting defects found during the project review. Untargeted async actions could resume after shutdown, synchronous targeted callbacks left loading set, different actions sharing a target cleared loading too early, finished timer workers accumulated, and numeric sorting lost precision through float conversion.

  • Actions and commands share private invocation ownership. Both convenience Apps close work as exit begins; queued shortcuts are cancelled, shared loading lasts until all owners finish, and stale failures retain source reporting without replacing newer target state.
  • Timer ownership releases successful, failed, and cancelled async/threaded workers, including registration after completion, while retaining native error reporting and overlap prevention.
  • Tables compare Real values directly, place NaN in textual ordering, preserve stable ties and row identity, and finish comparisons before changing rows, cursor, or sort metadata.

Markup and decorator signatures are unchanged. Cancellation remains cooperative; user callbacks that suppress cancellation and threads cannot be force-stopped. The PR includes the previously committed roadmap/design/plan and updated runtime guidance and changelog.

Validation:

  • Clean baseline: 396 passed. Thirty-four new cases reproduced defects before their fixes; one additional case pins stable ties and Decimal ordering.
  • Full suite: 431 passed. Focused actions/project: 68 passed; timers: 21 passed; tables: 68 passed.
  • Visual comparisons: 6 passed with unchanged baselines. Pyflakes, Poetry lock/metadata validation, wheel/sdist build, and whitespace check passed.
  • Independent whole-branch review found no actionable issues; its 17 targeted tests passed.

See the reliability plan and design.

@thunderballfists
thunderballfists merged commit 9e5a464 into main Oct 1, 2026
10 checks passed
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.

1 participant