Skip to content

fix(skills): propagate discovery cancellation - #2268

Open
kyboi wants to merge 1 commit into
JetBrains:developfrom
Kreoh:contribute/skills-discovery-cancellation
Open

kyboi wants to merge 1 commit into
JetBrains:developfrom
Kreoh:contribute/skills-discovery-cancellation

Conversation

@kyboi

@kyboi kyboi commented Sep 29, 2026

Copy link
Copy Markdown

discoverSkills catches cancellation from directory listing and skill file reads, allowing traversal and caller code to continue after cancellation. Rethrow CancellationException at both catch sites while preserving the existing handling of ordinary I/O failures.

Cancellation-safe discovery is already included and working in production applications through Kroog. Original implementation. Kroog uses narrow exception handling and explicit cancellation checks within a broader secure-session implementation. This patch adapts the exception-propagation behaviour to the existing discovery code. It does not add cooperative checks after a provider returns normally.

No dependencies or public signatures change. The regressions cancel real coroutines suspended in listing and reading, then check for later filesystem calls and caller continuation. Separate tests retain ordinary I/O failure skipping.

Validation: both cancellation regressions fail on unchanged develop; ordinary I/O failure tests pass. The complete skills module JVM suite passes all 22 tests, along with the JVM JAR build and module ktlint checks. A standalone reproduction fails on develop and passes with the fix. The repository-wide JVM suite and non-JVM targets were not run.

Closes #2267.

This branch has not been deployed

No deployments
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.

Skill discovery swallows coroutine cancellation

1 participant