* feat(vscode): track session status for busy-session warnings
* feat(vscode): warn before saving settings when sessions are running
* feat(vscode): add draft state and save/discard to config context
* feat(vscode): Save button on Settings panel
* fix(vscode): pass remove permission commands correctly to backend
* feat(vscode): handle permission removals
* fix(vscode): detect other sessions in settings panel
* feat(vscode): translations
* feat(vscode): refresh config state on auto-approve tab
* fix(vscode): formatting and unit tests
* fix: reset Config.state cache on no-dispose config write
* fix(vscode): Detect sessions opened before Settings tab is opened
* fix(vscode): Removed previous fix changes
* fix: renamed pattern arrays used for permission rules
* fix: rename savePatternRules to saveAlwaysRules
* feat: generate hierarchical always patterns in bash tool
* feat: validate saveAlwaysRules against always array only
* feat: pass always field through extension bridge to webview
* feat: show hierarchical always patterns in PermissionDock dropdown
* fix: rename pattern to rule in PermissionDock translations, styles, and data-slots
* fix(vscode): correct auto-run comment in PermissionDock
* feat(kilo-vscode): strip trailing wildcard from permission rule labels
* fix: deduplicate permission rules and strip wildcards from display labels
* refactor: move hierarchy to metadata.rules, restore always to arity prefix
* feat: pass always field to permission dock for non-bash tool rules
* fix: correct bash test assertion to check metadata.rules and fix indentation
* fix: hide permission rules dropdown for non-bash tools
* fix: align always-rules route descriptions, whitespace, and restore multi-command tests