@mediadatafusion/pi-workflow-suite 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable public releases will be documented in this file.
4
4
 
5
+ ## [0.0.19] - 2026-06-10
6
+
7
+ ### Improved
8
+
9
+ - Improved workflow widget and settings UI documentation.
10
+ - Refined editor hint readability controls.
11
+
12
+ ## [0.0.18] - 2026-06-10
13
+
14
+ ### Improved
15
+
16
+ - Improved package metadata and compaction settings documentation.
17
+ - Refined compaction safeguards for default and custom configuration flows.
18
+
5
19
  ## [0.0.17] - 2026-06-10
6
20
 
7
21
  ### Improved
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [![Install](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.12/docs/assets/readme-link-install.svg)](#installation) [![Quick Start](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.12/docs/assets/readme-link-quick-start.svg)](#quick-start) [![Commands](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.12/docs/assets/readme-link-commands.svg)](#core-commands) [![Settings](https://cdn.jsdelivr.net/npm/@mediadatafusion/pi-workflow-suite@0.0.12/docs/assets/readme-link-settings.svg)](#settings-reference)
6
6
 
7
- **Workflow Suite Version:** `v0.0.17`
7
+ **Workflow Suite Version:** `v0.0.19`
8
8
 
9
9
  ## Overview
10
10
 
@@ -49,6 +49,7 @@ See Pi Workflow Suite in action: structured workflow modes, settings, runtime st
49
49
  - [Workflow Roles And Model Selection](#workflow-roles-and-model-selection)
50
50
  - [Workflow Settings UI](#workflow-settings-ui)
51
51
  - [Workflow Presets](#workflow-presets)
52
+ - [Workflow Widgets And Editor Hints](#workflow-widgets-and-editor-hints)
52
53
  - [Themes And UI](#themes-and-ui)
53
54
  - [Sub-Agents And Parallel Work](#sub-agents-and-parallel-work)
54
55
  - [Review, Validation, Repair, And Retry](#review-validation-repair-and-retry)
@@ -114,18 +115,18 @@ Pi Workflow Suite turns Pi into a guided workflow environment:
114
115
  | Standard Mode | Direct active work with optional dynamic task-specific To Do tracking, configurable clarification, widgets, shared or Standard-specific model roles, presets, safety controls, and sub-agent orchestration. |
115
116
  | Plan Mode | Approval-gated planning and execution where Planner, Reviewer, Executor, and Validator can each use the provider/model and thinking level that fits the phase. |
116
117
  | Mission Mode | Long-running milestone workflows with approval, checkpoints, Mission-specific model overrides, validation gates, repair/retry, pause/resume, final-validation controls, and continuity tracking. |
117
- | Themes And Startup UI | Workflow Suite themes, startup visual cards, startup logo modes, custom terminal logo text, custom brand cards, footer/status styling, widgets, and optional input border styling. |
118
+ | Themes And Startup UI | Workflow Suite themes, startup visual cards, startup logo modes, custom terminal logo text, custom brand cards, editor hint/status styling, widgets, and optional input border styling. |
118
119
  | Interactive Diagrams | `workflow_diagram` Mermaid support with terminal preview, SVG-first clickable artifacts, PNG/runtime rendering support, dark-mode-friendly styling, and runtime artifact storage. |
119
120
  | Web Research & Browser Verification | First-party `workflow_web_search`, `workflow_web_fetch`, and `workflow_browser_check` tools. Search and fetch for public web evidence with source URLs, blocked local/private/internal hosts, and time/size limits. Headless browser verification for runtime web app validation with interactive UI actions (click, type, read, screenshot, evaluate). |
120
121
  | Repo Lock | Project-scoped Global Safety control that constrains normal file tools, bash path checks, and sub-agents to the active repository, with protected configuration paths and clear non-sandbox caveats. |
121
- | Compaction | Pi default, custom model, or disabled Workflow Suite compaction so context summarization can use its own provider/model, proactive threshold checks, idle-boundary execution, custom token tuning, adaptive fitting, status reporting, and safe fallback. |
122
+ | Compaction | Shared compaction controls for Pi default or custom summary model selection, Pi default or custom trigger thresholds, idle-boundary proactive checks, custom token tuning, adaptive fitting, status reporting, and safe fallback. |
122
123
  | Token Budgets | Optional per-mode token and runtime caps (`maxTokens`, `maxRuntimeHours`) for Plan, Mission, and Standard Mode. Off by default (unlimited). When enabled, Workflow Suite tracks cumulative usage and blocks further agent turns when the budget is exceeded. |
123
124
  | Workflow Roles | Planner, Executor, Reviewer, Validator, Mission, and compaction responsibilities are separated by phase so each job has clear boundaries and can be matched to the right model. |
124
125
  | Model Selection | Configure which provider/model and thinking level powers each workflow role, with shared defaults plus Standard-specific and Mission-specific overrides for simpler or higher-rigor setups. |
125
126
  | Presets | Built-in and custom workflow profiles with selector commands and Ctrl+Shift+U cycling while active modes are running. |
126
127
  | Settings | Interactive grouped settings UI plus direct commands for Standard, Plan, Mission, model selection, sub-agents, widgets, compaction, themes, and safety. |
127
128
  | Sub-agents And Skills | Bundled workflow agents and skills for discovery, planning, safe execution, validation, git-safe summaries, and project-rule audits, with clear capability boundaries. |
128
- | Widgets And Status | Mode-aware top/bottom widgets, footer hints, shortcut controls, progress display, runtime summaries, and current-setting visibility. |
129
+ | Widgets And Status | Mode-aware top/bottom widgets, editor hints, shortcut controls, progress display, runtime summaries, and current-setting visibility. |
129
130
  | Safety And Recovery | Phase-specific tool restrictions, destructive-command blocking, validation gates, install backup, live verification, audit, quarantine, sync, resume, and checkpoint tooling. |
130
131
 
131
132
  ## Feature Overview
@@ -153,7 +154,7 @@ Pi Workflow Suite turns Pi into a guided workflow environment:
153
154
 
154
155
  Idle Mode is the default no-active-workflow state. It means there is no active Standard task, approved Plan execution, or Mission milestone running, but Workflow Suite still provides its management, inspection, and configuration surfaces.
155
156
 
156
- Idle Mode is a first-class part of the Workflow Suite hierarchy. Users can inspect workflow status, open settings, change themes, preview startup visuals, review widget/footer behavior, inspect Repo Lock status through Global Safety settings, configure compaction, review installed workflow resources, and run safe runtime hygiene/status checks. Idle Mode is also where footer hints expose the primary entry points for Standard, Plan, and Mission.
157
+ Idle Mode is a first-class part of the Workflow Suite hierarchy. Users can inspect workflow status, open settings, change themes, preview startup visuals, review widget and editor hint behavior, inspect Repo Lock status through Global Safety settings, configure compaction, review installed workflow resources, and run safe runtime hygiene/status checks. Idle Mode is also where editor hints expose the primary entry points for Standard, Plan, and Mission.
157
158
 
158
159
  Idle Mode is not a sandbox and does not imply Pi is unable to run commands. It only means Workflow Suite is not currently inside an active Standard, Plan, or Mission workflow. Repo Lock, tool guards, Pi permissions, and sub-agent configuration still determine what can run.
159
160
 
@@ -597,7 +598,7 @@ Quick access:
597
598
 
598
599
  ```text
599
600
  /workflow presets # open preset selector
600
- Ctrl+Shift+U # cycle presets from the footer/status line while Standard/Plan/Mission Mode is active
601
+ Ctrl+Shift+U # cycle presets while Standard/Plan/Mission Mode is active
601
602
  /workflow presets list
602
603
  /workflow presets apply <name>
603
604
  /workflow presets next
@@ -609,7 +610,7 @@ Ctrl+Shift+U # cycle presets from the footer/status line while
609
610
  /workflow presets delete <name>
610
611
  ```
611
612
 
612
- The footer/status line stays mode-specific and avoids idle clutter. By default, active workflows display compact, human-readable hints and the other workflow mode:
613
+ The inline editor hints stay mode-specific and avoid idle clutter. By default, active workflows display compact, human-readable shortcuts and the other workflow mode:
613
614
 
614
615
  ```text
615
616
  Idle: Standard:Ctrl+Shift+S Plan:Ctrl+Shift+L Mission:Ctrl+Shift+M
@@ -631,9 +632,55 @@ Workflow Suite settings are separate from Pi core settings. Workflow Suite setti
631
632
 
632
633
  Pi core settings use a different file pair: global `~/.pi/agent/settings.json` plus exact-current-directory project settings at `<cwd>/.pi/settings.json`. Pi core project settings do not walk parent directories. Use `./scripts/audit-settings.sh [target-cwd]` to report both scopes without printing secrets.
633
634
 
635
+ ## Workflow Widgets And Editor Hints
636
+
637
+ Workflow widgets are one of the core Workflow Suite surfaces. Standard, Plan, and Mission Mode can show active workflow status directly in the terminal through mode-aware top and bottom widgets.
638
+
639
+ The top and bottom widgets are independent visibility surfaces. Users can show either one or both, and toggling a widget does not change the underlying workflow state. The widgets are designed to keep long-running work readable without requiring users to repeatedly ask for status.
640
+
641
+ Depending on the active mode and settings, widgets can show:
642
+
643
+ - active workflow mode and lifecycle state,
644
+ - current and next task, step, or milestone,
645
+ - segmented progress bars,
646
+ - Standard Mode To Do progress,
647
+ - Plan Mode approval, execution, validation, and repair state,
648
+ - Mission Mode milestone, checkpoint, validation, retry, and runtime state,
649
+ - selected model route and thinking level,
650
+ - active preset and shortcut hints,
651
+ - sub-agent activity when worker orchestration is active.
652
+
653
+ Widget shortcuts:
654
+
655
+ ```text
656
+ Ctrl+Shift+T toggle the active workflow top widget
657
+ Ctrl+Shift+B toggle the active workflow bottom widget
658
+ Ctrl+Shift+U cycle workflow presets while Standard, Plan, or Mission Mode is active
659
+ ```
660
+
661
+ Widget commands:
662
+
663
+ ```text
664
+ /workflow widgets status
665
+ /workflow widgets list
666
+ /workflow widgets configure
667
+ /workflow widgets toggle top
668
+ /workflow widgets toggle bottom
669
+ /workflow widgets on
670
+ /workflow widgets off
671
+ ```
672
+
673
+ Editor hints are compact inline hints shown in the editor/input area. They can show entry shortcuts while idle and widget, preset, and mode-switch shortcuts while a workflow is active. Editor hints are configurable separately from the widget commands themselves, including visibility and contrast.
674
+
675
+ The interactive settings path is:
676
+
677
+ ```text
678
+ /workflow settings UI Widgets
679
+ ```
680
+
634
681
  ## Themes And UI
635
682
 
636
- Workflow Suite themes control the palette used by Workflow Suite visual surfaces: status/footer text, Standard/Plan/Mission widgets, startup visuals, and optional input-area border styling. They are Workflow Suite settings, separate from Pi core themes.
683
+ Workflow Suite themes control the palette used by Workflow Suite visual surfaces: status text, editor hints, Standard/Plan/Mission widgets, startup visuals, and optional input-area border styling. They are Workflow Suite settings, separate from Pi core themes.
637
684
 
638
685
  Open the interactive theme menu from the public settings surface:
639
686
 
@@ -657,7 +704,7 @@ Workflow Theme
657
704
 
658
705
  How the pieces fit together:
659
706
 
660
- - **Theme** changes Workflow Suite colors for widgets, footer/status text, startup visuals, and optional input border styling.
707
+ - **Theme** changes Workflow Suite colors for widgets, editor hints, status text, startup visuals, and optional input border styling.
661
708
  - **Widget Text Style** controls the text treatment used by active workflow widgets.
662
709
  - **Startup Visual** chooses the startup card layout: `none`, `minimal`, `workflow_duo`, `mission_control`, `diagnostic_center`, `data_stream`, `neural_grid`, or `custom_brand`.
663
710
  - **Startup Text Style** controls startup visual text independently from active workflow widgets.
@@ -799,27 +846,34 @@ Compaction settings are available through:
799
846
  /workflow settings Shared Compaction
800
847
  ```
801
848
 
802
- Supported modes:
849
+ The grouped Shared Compaction menu separates trigger behavior from summary model selection. The trigger can use Pi default behavior or an explicit Workflow Suite threshold, while the compaction provider/model controls which model writes compaction summaries when configured.
803
850
 
804
- - **Pi default** preserve Pi built-in compaction.
805
- - **Custom model** — route compaction summaries through a configured provider/model when available.
806
- - **Disabled** — disables Workflow Suite custom compaction and leaves Pi fallback behavior.
807
- - **Custom agent** — planned-only/backward-compatible mode; current releases keep Pi default fallback behavior instead of running agent-routed compaction.
851
+ Workflow Suite can request proactive compaction when context usage reaches the configured threshold. Actual proactive compaction runs only at a safe after-turn idle agent boundary, so it does not interrupt arbitrary tool execution or queued workflow handoffs. Pi default auto-compaction remains available as a safety fallback near the model limit.
808
852
 
809
- Workflow Suite can request proactive compaction when context usage reaches the configured threshold. For Custom model mode, a configured compaction provider/model with custom compaction enabled arms the threshold trigger even when generic auto-trigger behavior is otherwise off. This lets compaction use a different model than planning, execution, review, or validation, which is useful when context summarization has a different cost, speed, or context-window requirement than active workflow work. Actual proactive compaction runs only at a safe after-turn idle agent boundary, so it does not interrupt arbitrary tool execution or queued workflow handoffs. Pi default auto-compaction remains available as a safety fallback near the model limit.
853
+ The menu controls provider/model preference, auto-trigger behavior, trigger threshold, cooldown, reserve tokens, and keep-recent tokens:
854
+
855
+ ```text
856
+ Shared Compaction Settings
857
+
858
+ Compaction Provider
859
+ Compaction Model
860
+ Workflow Auto Trigger Enabled
861
+ Workflow Trigger Percent
862
+ Workflow Trigger Cooldown
863
+ Custom Reserve Tokens
864
+ Custom Keep Recent Tokens
865
+ List Current Settings
866
+ Back
867
+ ```
810
868
 
811
- The grouped Shared Compaction menu controls auto-compaction, trigger threshold, cooldown, reserve tokens, keep-recent tokens, and custom compaction model behavior.
869
+ Each configurable compaction setting includes a Pi default option. Provider and model choices do not change the trigger threshold. The trigger reports `Pi default` when the native Pi threshold formula is in control and reports `custom, <percent>%` only when an explicit Workflow Suite trigger override is set.
812
870
 
813
871
  Important behavior:
814
872
 
815
873
  - **Safe boundary**: proactive compaction runs at a safe after-turn idle agent boundary only.
816
874
  - **Cooldown**: the cooldown is the minimum wait between proactive attempts; it is not a delay before compaction starts and does not block manual compaction.
817
- - **Adaptive fit**: Custom model preparation is fit to the selected compaction model context window using configured reserve and keep-recent token settings.
818
- - **Fallback**: Custom model compaction falls back to Pi default behavior if required settings are missing, the model cannot be found, authentication or API key checks fail, preparation cannot fit, or the compaction call errors.
819
- - **Status**: `/workflow settings Show Current Settings` reports the effective trigger state, runtime status, selected custom model, reserve/keep-recent token settings, latest check decision, and `Last Custom Compaction Status`.
820
-
821
- The legacy `workflowCompactionCheckMode` setting may still exist for compatibility, but the primary release behavior is safe after-turn idle-boundary compaction. It is not permission to compact in the middle of arbitrary tool execution.
822
-
875
+ - **Adaptive fit**: Custom summary model preparation is fit to the selected model context window using configured reserve and keep-recent token settings.
876
+ - **Fallback**: Custom summary model compaction falls back to Pi default behavior if required settings are missing, the model cannot be found, authentication or API key checks fail, preparation cannot fit, or the compaction call errors.
823
877
  ## Diagram Support
824
878
 
825
879
  Workflow Suite includes a `workflow_diagram` tool for Mermaid diagrams in workflow explanations, architecture notes, state transitions, data flows, export/share flows, and dependency maps. It is available to Workflow Suite execution and validation surfaces through the shared workflow tool set.
@@ -946,30 +1000,7 @@ Runtime tracking is active-runtime based:
946
1000
  - Paused, blocked, stopped, completed, failed, draft, planned, and approved states do not accumulate active runtime.
947
1001
  - `maxRuntimeHours` is enforced against active runtime at mission start/continue/validation/repair gates.
948
1002
 
949
- Workflow entry and widget controls are available through `/standard`, `/plan`, `/mission`, and `/workflow widgets`. Keyboard shortcuts keep the footer mode-specific:
950
-
951
- ```text
952
- Ctrl+Shift+S toggle Standard Mode
953
- Ctrl+Shift+L enter Plan Mode
954
- Ctrl+Shift+M enter Mission Mode
955
- Ctrl+Shift+T toggle active Standard/Plan/Mission top widget
956
- Ctrl+Shift+B toggle active Standard/Plan/Mission bottom widget
957
- Ctrl+Shift+U cycle presets while Standard/Plan/Mission Mode is active
958
- ```
959
-
960
- Widget commands:
961
-
962
- ```text
963
- /workflow widgets status
964
- /workflow widgets list
965
- /workflow widgets configure
966
- /workflow widgets toggle top
967
- /workflow widgets toggle bottom
968
- /workflow widgets on
969
- /workflow widgets off
970
- ```
971
-
972
- Footer hints can be tuned without disabling the actual commands/shortcuts. The interactive path is `/workflow settings UI Widgets` → `Footer Hints`.
1003
+ Workflow entry and widget controls are available through `/standard`, `/plan`, `/mission`, and `/workflow widgets`. See [Workflow Widgets And Editor Hints](#workflow-widgets-and-editor-hints) for the top widget, bottom widget, shortcut, and editor hint controls.
973
1004
 
974
1005
  Mission heartbeat and stale-status fields are tracked and displayed. Checkpoint interval settings record the preferred cadence for future timed checkpoint automation, while recovery actions remain user-supervised for safety.
975
1006
 
@@ -1007,8 +1038,8 @@ pi install -l npm:@mediadatafusion/pi-workflow-suite
1007
1038
  ### Installing specific versions
1008
1039
 
1009
1040
  ```bash
1010
- pi install npm:@mediadatafusion/pi-workflow-suite@0.0.17
1011
- pi install -l npm:@mediadatafusion/pi-workflow-suite@0.0.17
1041
+ pi install npm:@mediadatafusion/pi-workflow-suite@0.0.19
1042
+ pi install -l npm:@mediadatafusion/pi-workflow-suite@0.0.19
1012
1043
  ```
1013
1044
 
1014
1045
  An unversioned install follows normal update behavior: `pi update` and `pi update --extensions` will pick up new package releases. A versioned install pins the package to that version. Pinned package specs are intentionally skipped by Pi's normal package update commands. To move a pinned install to a newer version, reinstall with the desired version. To switch back to latest tracking, use the unversioned install command without `@<version>`.
@@ -1124,8 +1155,8 @@ Primary settings areas:
1124
1155
  - `standard` — Standard Mode enablement, dynamic To Do tracking, configurable clarification, widgets, model role, Standard sub-agent orchestration, and shared model selection.
1125
1156
  - `missions` — Mission Mode autonomy, runtime, checkpoints, validation, repair, and mission-specific model selection.
1126
1157
  - `subagents` — workflow phase policies, worker targets, activity indicator, parallelism preferences, and edit-concurrency guidance. These settings do not edit arbitrary sub-agent tool permissions.
1127
- - `context` — compaction mode, custom compaction provider/model, proactive trigger percentage, check mode, cooldown, and fallback status.
1128
- - `ui` — widgets, shortcuts, Workflow Suite theme selection, startup visuals, startup logo text styling, footer/status hints, and optional themed input borders.
1158
+ - `context` — compaction provider/model, auto-trigger behavior, trigger percentage, cooldown, reserve tokens, and keep-recent tokens.
1159
+ - `ui` — widgets, shortcuts, Workflow Suite theme selection, startup visuals, startup logo text styling, editor hints, status text, and optional themed input borders.
1129
1160
  - `safety` — bash/tool guard settings.
1130
1161
 
1131
1162
  Important Standard Mode settings:
@@ -1207,17 +1238,17 @@ See `docs/TROUBLESHOOTING.md` for detailed diagnostics.
1207
1238
 
1208
1239
  ## Operational Notes
1209
1240
 
1210
- - Use Custom model mode for active custom compaction today. Custom agent mode is reserved for agent-routed compaction and keeps Pi fallback behavior in current releases.
1241
+ - Configure a compaction provider/model when summaries should use a custom model; trigger behavior remains separate and can stay on Pi default behavior.
1211
1242
  - Mission checkpoints are created at workflow gates and progress saves. The checkpoint interval setting records the preferred cadence for future timed checkpoint automation.
1212
1243
  - Watchdog status can report stale mission activity when enabled. Recovery remains user-supervised so Mission Mode does not resume or mutate work unexpectedly.
1213
1244
  - Parallel file edits are governed separately from parallel sub-agent work. Scoped parallel edit mode requires conflict protection; otherwise the main workflow keeps writes serialized for safety.
1214
1245
 
1215
1246
  ## Versioning
1216
1247
 
1217
- The current preparation version is `v0.0.17`. Version information is intentionally aligned across:
1248
+ The current preparation version is `v0.0.19`. Version information is intentionally aligned across:
1218
1249
 
1219
- - `VERSION` (`v0.0.17`),
1220
- - `package.json` (`0.0.17`),
1250
+ - `VERSION` (`v0.0.19`),
1251
+ - `package.json` (`0.0.19`),
1221
1252
  - `package-lock.json`,
1222
1253
  - this README,
1223
1254
  - Workflow Suite settings/about output.
package/VERSION CHANGED
@@ -1 +1 @@
1
- v0.0.17
1
+ v0.0.19
@@ -254,6 +254,7 @@
254
254
  "showActiveWorkflowSwitchHint": true,
255
255
  "showWidgetShortcutHint": true,
256
256
  "showPresetShortcutHint": true,
257
+ "editorHintContrast": "normal",
257
258
  "workflowTheme": "aurora",
258
259
  "workflowThemeOverrides": {},
259
260
  "startupVisual": "mission_control",
@@ -38,6 +38,7 @@ export type WorkflowStartupLogoFont = "block" | "shadow" | "outline" | "wide" |
38
38
  export type WorkflowStartupLogoShadowDirection = "down_right" | "down" | "up" | "left" | "right";
39
39
  export type WorkflowStartupLogoColorStyle = "theme" | "primary" | "split";
40
40
  export type WorkflowWidgetTextPreset = "normal" | "bold" | "light" | "rich" | "italic" | "underline" | "terminal" | "smallcaps" | "typewriter";
41
+ export type WorkflowEditorHintContrast = "subtle" | "normal" | "bright" | "high";
41
42
  export type CustomBrandBaseVisual = "minimal" | "diagnostic_center" | "workflow_duo" | "mission_control" | "data_stream" | "neural_grid";
42
43
  export type RepairRetryGateName = "review" | "validation" | "missionValidation" | "missionFinalValidation";
43
44
 
@@ -239,6 +240,7 @@ export interface WorkflowSettings {
239
240
  showActiveWorkflowSwitchHint?: boolean;
240
241
  showWidgetShortcutHint?: boolean;
241
242
  showPresetShortcutHint?: boolean;
243
+ editorHintContrast?: WorkflowEditorHintContrast;
242
244
  workflowTheme?: string;
243
245
  workflowThemeOverrides?: Record<string, string>;
244
246
  widgetTextStyle?: WorkflowWidgetTextPreset;
@@ -528,6 +530,7 @@ const BUILTIN_DEFAULT_WORKFLOW_SETTINGS = {
528
530
  "showActiveWorkflowSwitchHint": true,
529
531
  "showWidgetShortcutHint": true,
530
532
  "showPresetShortcutHint": true,
533
+ "editorHintContrast": "normal",
531
534
  "workflowTheme": "aurora",
532
535
  "workflowThemeOverrides": {},
533
536
  "widgetTextStyle": undefined,
@@ -1434,14 +1437,8 @@ export function workflowSettingsConsistencyDiagnostics(settings: WorkflowSetting
1434
1437
  if (settings.missions.finalValidationEnabled === true && (!settings.models.validator.enabled || !roleIsConfigured(settings.models.validator))) {
1435
1438
  diagnostics.push("mission final validation is enabled but the shared validator model is disabled or unconfigured");
1436
1439
  }
1437
- if (settings.context.compactionMode === "custom_model" && (!settings.context.compactionModelProvider || !settings.context.compactionModel)) {
1438
- diagnostics.push("custom compaction model mode is selected but compaction provider/model is incomplete");
1439
- }
1440
- if (settings.context.compactionMode === "custom_model" && settings.context.customCompactionEnabled !== true) {
1441
- diagnostics.push("custom compaction mode is selected but customCompactionEnabled is not set — custom compaction will not activate");
1442
- }
1443
- if (settings.context.customCompactionEnabled === true && settings.context.compactionMode !== "custom_model") {
1444
- diagnostics.push(`customCompactionEnabled=true but compactionMode=${settings.context.compactionMode}`);
1440
+ if ((settings.context.compactionModelProvider || settings.context.compactionModel) && (!settings.context.compactionModelProvider || !settings.context.compactionModel)) {
1441
+ diagnostics.push("custom compaction summary model preference is incomplete");
1445
1442
  }
1446
1443
  if (settings.missions.autoRepairReviewFailures !== false && settings.missions.reviewRetryMode === "off") {
1447
1444
  diagnostics.push("mission review auto-repair is enabled but reviewRetryMode is off — override to safe_only will be applied at runtime; set reviewRetryMode explicitly to avoid confusion");