Skip to content

Smashing bugs and moving full system prompts and stance system to markdown - #13

Merged
xangcastle merged 4 commits into
mainfrom
xangcastle/more-smashing-bugs
Jan 30, 2026
Merged

Smashing bugs and moving full system prompts and stance system to markdown#13
xangcastle merged 4 commits into
mainfrom
xangcastle/more-smashing-bugs

Conversation

@xangcastle

Copy link
Copy Markdown
Owner

This pull request refactors the Ronin settings system to simplify stance management and configuration, and introduces improvements to how stances are loaded and parsed. It removes several stance-related fields from the global settings and user interface, instead loading stance definitions from Markdown files in a resource directory. Additionally, it adds better handling for command execution cancellation in the chat UI.

The most important changes are:

Stance Loading and Parsing Improvements:

  • Stances are now loaded from Markdown files in the /stances resource directory, supporting both file and JAR resource loading. The RoninSettingsState class includes new logic to parse these files and extract stance configuration and system prompts, replacing the previous JSON-based approach.
  • The parseStanceMarkdown method is introduced to extract stance metadata and system prompts from Markdown frontmatter, supporting a more modular and maintainable stance definition format.

Settings and UI Simplification:

  • The following stance fields are removed from both the Stance data class and the settings UI: scope, executionCommand, and allowedTools. The coreWorkflow field is also removed from global settings. The settings UI and form logic are updated accordingly, reducing complexity and potential for user error. [1] [2] [3] [4] [5] [6] [7] [8]
  • The system prompt for a stance is now taken directly from the stance's Markdown file, and the previous hardcoded protocol/system prompt template in LLMServiceImpl.sendMessage is replaced with the stance's own prompt.

Chat UI/Command Execution Improvements:

  • In the chat tool window, a Future reference is now kept for the currently running command, allowing for better management and potential cancellation of command execution. The UI now checks if generation was cancelled before proceeding with follow-up actions, preventing unwanted outputs if a command is stopped. [1] [2] [3]

Minor Cleanups:

  • Removed unnecessary comments and legacy code related to history pruning and endpoint handling in LLMServiceImpl.
  • Minor import and variable initialization updates in the chat UI for improved concurrency handling.

These changes make stance management more maintainable and flexible, reduce the number of editable fields in the UI, and improve the robustness of command execution in the chat interface.

@xangcastle
xangcastle merged commit a1d01e4 into main Jan 30, 2026
1 check passed
@github-actions

Copy link
Copy Markdown
Contributor

Qodana Community for JVM

3 new problems were found

Inspection name Severity Problems
Unused import directive 🔶 Warning 1
Unstable API Usage 🔶 Warning 1
Unused symbol 🔶 Warning 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked

View the detailed Qodana report

To be able to view the detailed Qodana report, you can either:

To get *.log files or any other Qodana artifacts, run the action with upload-result option set to true,
so that the action will upload the files as the job artifacts:

      - name: 'Qodana Scan'
        uses: JetBrains/qodana-action@v2025.1.1
        with:
          upload-result: true
Contact Qodana team

Contact us at qodana-support@jetbrains.com

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