@mediadatafusion/pi-workflow-suite 0.0.1

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.
Files changed (61) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/CONTRIBUTING.md +9 -0
  3. package/LICENSE.md +201 -0
  4. package/NOTICE +6 -0
  5. package/README.md +1208 -0
  6. package/SECURITY.md +7 -0
  7. package/SUPPORT.md +9 -0
  8. package/TRADEMARKS.md +14 -0
  9. package/VERSION +1 -0
  10. package/agents/codebase-research.md +42 -0
  11. package/agents/general-worker.md +26 -0
  12. package/agents/implementation-planning.md +46 -0
  13. package/agents/quality-validation.md +43 -0
  14. package/agents/workflow-orchestrator.md +44 -0
  15. package/config/prompts/execute-approved-plan.md +43 -0
  16. package/config/prompts/mission-checkpoint.md +26 -0
  17. package/config/prompts/mission-final-validation.md +21 -0
  18. package/config/prompts/mission-plan.md +129 -0
  19. package/config/prompts/mission-repair.md +33 -0
  20. package/config/prompts/mission-run.md +37 -0
  21. package/config/prompts/validate-approved-plan.md +42 -0
  22. package/config/prompts/workflow-plan-prompt.md +93 -0
  23. package/config/prompts/workflow-repair.md +20 -0
  24. package/config/prompts/workflow-summary.md +23 -0
  25. package/config/workflow-settings.example.json +335 -0
  26. package/docs/assets/mediadatafusion-logo.png +0 -0
  27. package/docs/assets/pi-workflow-suite-card.png +0 -0
  28. package/docs/assets/pi-workflow-suite-header.png +0 -0
  29. package/docs/assets/pi-workflow-suite-video-thumb.png +0 -0
  30. package/docs/assets/readme-link-commands.svg +10 -0
  31. package/docs/assets/readme-link-install.svg +10 -0
  32. package/docs/assets/readme-link-quick-start.svg +10 -0
  33. package/docs/assets/readme-link-settings.svg +10 -0
  34. package/extensions/subagent/agents.ts +149 -0
  35. package/extensions/subagent/index.ts +1136 -0
  36. package/extensions/subagent/runner.ts +291 -0
  37. package/extensions/workflow-model-router.ts +1485 -0
  38. package/extensions/workflow-modes.ts +14778 -0
  39. package/extensions/workflow-parsers.ts +212 -0
  40. package/extensions/workflow-settings-capabilities.ts +282 -0
  41. package/extensions/workflow-state.ts +978 -0
  42. package/extensions/workflow-subagent-policy.ts +180 -0
  43. package/extensions/workflow-summary.ts +381 -0
  44. package/extensions/workflow-tool-guard.ts +302 -0
  45. package/extensions/workflow-validation-classifier.ts +102 -0
  46. package/extensions/workflow-web-tools.ts +356 -0
  47. package/package.json +1 -0
  48. package/scripts/audit-live.sh +69 -0
  49. package/scripts/audit-settings.sh +136 -0
  50. package/scripts/backup-live.sh +63 -0
  51. package/scripts/bootstrap-project.sh +220 -0
  52. package/scripts/install-to-live.sh +87 -0
  53. package/scripts/quarantine-live-junk.sh +69 -0
  54. package/scripts/verify-live.sh +128 -0
  55. package/skills/codebase-discovery/SKILL.md +20 -0
  56. package/skills/find-skills/SKILL.md +155 -0
  57. package/skills/git-safe-summary/SKILL.md +20 -0
  58. package/skills/implementation-planning/SKILL.md +20 -0
  59. package/skills/project-rules-audit/SKILL.md +20 -0
  60. package/skills/safe-execution/SKILL.md +20 -0
  61. package/skills/validation-review/SKILL.md +20 -0
package/README.md ADDED
@@ -0,0 +1,1208 @@
1
+ # Pi Workflow Suite
2
+
3
+ <p align="center">
4
+ <img src="docs/assets/pi-workflow-suite-header.png" alt="Pi Workflow Suite — structured workflow orchestration for Pi" />
5
+ </p>
6
+
7
+ <p align="center">
8
+ <a href="#installation"><img src="docs/assets/readme-link-install.svg" alt="Install" /></a>
9
+ <a href="#quick-start"><img src="docs/assets/readme-link-quick-start.svg" alt="Quick Start" /></a>
10
+ <a href="#core-commands"><img src="docs/assets/readme-link-commands.svg" alt="Commands" /></a>
11
+ <a href="#settings-reference"><img src="docs/assets/readme-link-settings.svg" alt="Settings" /></a>
12
+ </p>
13
+
14
+ **Workflow Suite Version:** `v0.0.1`
15
+
16
+ ## Overview
17
+
18
+ Pi Workflow Suite is a structured workflow orchestration suite for [Pi](https://pi.dev/). It adds four workflow states: Idle, Standard, Plan, and Mission. Its core philosophy is using the right model for the right job: a planner can use one provider/model and reasoning level, an executor can use another, a reviewer can provide a second opinion, a validator can independently check completed work, Mission Mode can use mission-specific role overrides, and compaction can use a purpose-selected summarization model. Around that role-specific model control it provides dynamic clarification, sub-agent coordination, integrated web research, interactive Mermaid diagrams, workflow settings, progress widgets, presets, visual themes, startup visuals, startup logos, validation gates, repair/retry loops, Repo Lock safety controls, and safe install/recovery tooling.
19
+
20
+ Pi itself is intentionally minimal and extensible. Pi Workflow Suite layers an opinionated workflow system on top of Pi without modifying Pi core. It is designed to run from user-level Pi resources under `~/.pi/agent`, while keeping runtime state, credentials, sessions, logs, backups, and local/private configuration out of the package.
21
+
22
+ ## Contents
23
+
24
+ - [Why Pi Workflow Suite Exists](#why-pi-workflow-suite-exists)
25
+ - [What It Adds To Pi](#what-it-adds-to-pi)
26
+ - [Feature Overview](#feature-overview)
27
+ - [Idle Mode](#idle-mode)
28
+ - [Standard Mode](#standard-mode)
29
+ - [Plan Mode](#plan-mode)
30
+ - [Mission Mode](#mission-mode)
31
+ - [Dynamic Clarification System](#dynamic-clarification-system)
32
+ - [Workflow Roles And Model Selection](#workflow-roles-and-model-selection)
33
+ - [Workflow Settings UI](#workflow-settings-ui)
34
+ - [Workflow Presets](#workflow-presets)
35
+ - [Themes And UI](#themes-and-ui)
36
+ - [Sub-Agents And Parallel Work](#sub-agents-and-parallel-work)
37
+ - [Review, Validation, Repair, And Retry](#review-validation-repair-and-retry)
38
+ - [Compaction Support](#compaction-support)
39
+ - [Diagram Support](#diagram-support)
40
+ - [Web Access](#web-access)
41
+ - [Repository Lock](#repository-lock)
42
+ - [Plan History](#plan-history)
43
+ - [Mission Progress, Checkpoints, And Runtime Tracking](#mission-progress-checkpoints-and-runtime-tracking)
44
+ - [Safety Model](#safety-model)
45
+ - [Installation](#installation)
46
+ - [Quick Start](#quick-start)
47
+ - [Core Commands](#core-commands)
48
+ - [Settings Reference](#settings-reference)
49
+ - [Verification](#verification)
50
+ - [Troubleshooting](#troubleshooting)
51
+ - [Operational Notes](#operational-notes)
52
+ - [Versioning](#versioning)
53
+ - [License, Trademarks, Security, Support, And Contributions](#license-trademarks-security-support-and-contributions)
54
+ - [Release Status](#release-status)
55
+ - [Planned Enhancements](#planned-enhancements)
56
+
57
+ ## Why Pi Workflow Suite Exists
58
+
59
+ Powerful coding agents can move quickly, but complex work needs structure:
60
+
61
+ - planning before edits,
62
+ - approval before execution,
63
+ - reviewer and validator separation,
64
+ - scoped tool access by phase,
65
+ - durable progress checkpoints,
66
+ - safe handling of long-running objectives,
67
+ - role-specific provider/model selection for planning, execution, review, validation, Mission work, and compaction,
68
+ - configurable thinking levels so heavier reasoning can be reserved for the phases that need it,
69
+ - workflow policy for sub-agent use and parallel orchestration,
70
+ - recovery paths when a workflow stalls or fails.
71
+
72
+ Pi Workflow Suite provides those controls as a reusable Pi extension package.
73
+
74
+ ### Right Model For The Right Job
75
+
76
+ A central Workflow Suite feature is role-specific model selection. Complex work is not one uniform model call: planning, executing, reviewing, validating, mission continuity, and context compaction have different risk profiles and cost/performance needs. Workflow Suite lets users route those responsibilities separately instead of forcing one model choice to cover every phase.
77
+
78
+ Examples:
79
+
80
+ - use a deeper reasoning model for the Planner because it defines scope, assumptions, risks, files to inspect, and validation strategy,
81
+ - use an execution-focused model for the Executor because it must follow the approved plan and use tools precisely,
82
+ - use a different Reviewer model before execution to catch missing requirements, unsafe steps, or weak plans,
83
+ - use an independent Validator model after execution to reduce shared blind spots from the executor,
84
+ - use Mission-specific model overrides for long-running milestone work that needs different planning or validation rigor,
85
+ - use a separate compaction model and token budget for summarizing context instead of spending the main execution model on compaction.
86
+
87
+ The same model can still be reused across roles for simpler setups. The important control is that the user can choose when roles should share one model and when they should diverge.
88
+
89
+ ## What It Adds To Pi
90
+
91
+ Pi Workflow Suite turns Pi into a guided workflow environment:
92
+
93
+ | Area | What it adds |
94
+ |---|---|
95
+ | Idle Mode | Default no-active-workflow management state with status, settings, themes, Repo Lock, compaction settings, widgets, installed-resource visibility, and safe runtime checks. |
96
+ | 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. |
97
+ | 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. |
98
+ | 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. |
99
+ | 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. |
100
+ | 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. |
101
+ | Web Research | First-party `workflow_web_search` and `workflow_web_fetch` tools for public web search/fetch with source URLs, blocked local/private/internal hosts, time/size limits, and untrusted-content handling. |
102
+ | Repo Lock | Project-scoped Global Safety control that constrains path tools and conservative bash path detection to the current repo and Pi runtime, with clear non-sandbox caveats. |
103
+ | 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. |
104
+ | 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. |
105
+ | 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. |
106
+ | Presets | Built-in and custom workflow profiles with selector commands and Ctrl+Shift+U cycling while active modes are running. |
107
+ | Settings | Interactive grouped settings UI plus direct commands for Standard, Plan, Mission, model selection, sub-agents, widgets, compaction, themes, and safety. |
108
+ | 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. |
109
+ | Widgets And Status | Mode-aware top/bottom widgets, footer hints, shortcut controls, progress display, runtime summaries, and current-setting visibility. |
110
+ | Safety And Recovery | Phase-specific tool restrictions, destructive-command blocking, validation gates, install backup, live verification, audit, quarantine, sync, resume, and checkpoint tooling. |
111
+
112
+ ## Feature Overview
113
+
114
+ - Idle Mode as the default management state when no Standard, Plan, or Mission workflow is active.
115
+ - Standard Mode through `/standard` and `Ctrl+Shift+S` for direct active work with optional dynamic To Do tracking.
116
+ - Plan Mode through `/p` and `/plan` for approval-gated planned execution.
117
+ - Mission Mode through `/mission`, `/m`, and `Ctrl+Shift+M` for durable milestone workflows.
118
+ - Configurable clarification in Standard Mode, plus dynamic clarification in Plan Mode and Mission Mode.
119
+ - Review, execution, validation, repair, retry, checkpoint, and final-validation controls where the selected mode supports them.
120
+ - Plan history, mission checkpoint history, Standard runtime tracking, Mission runtime tracking, and mode-aware progress widgets.
121
+ - Workflow settings UI for Standard Mode, Plan Mode, Mission Mode, model selection, sub-agents, compaction, widgets, themes, startup visuals, and safety.
122
+ - Workflow themes with a `none` option, startup visual cards, startup logo modes, custom terminal logo text, custom brand cards, and optional themed input borders.
123
+ - Integrated `workflow_web_search` and `workflow_web_fetch` tools for current public evidence and source-backed URL reading.
124
+ - Interactive `workflow_diagram` Mermaid rendering with terminal preview, clickable SVG artifacts, and PNG/runtime rendering support.
125
+ - Repo Lock for project-scoped path safety around repository and Pi-runtime access.
126
+ - Role-aware model selection so planning, execution, review, validation, Mission work, and compaction can each use the provider/model and thinking level that fits the job.
127
+ - Sub-agent usage policies for planning, execution, repair, review, and validation, with explicit documentation that these are orchestration settings, not a universal permission manager.
128
+ - Safe install, backup, audit, quarantine, verification, and package validation scripts.
129
+
130
+ ## Idle Mode
131
+
132
+ 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.
133
+
134
+ 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.
135
+
136
+ 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.
137
+
138
+ Useful Idle commands include:
139
+
140
+ ```text
141
+ /workflow status
142
+ /workflow settings
143
+ /workflow settings Show Current Settings
144
+ /workflow settings Theme
145
+ /workflow settings Global Safety
146
+ /workflow settings Shared Compaction
147
+ /workflow settings About
148
+ ```
149
+
150
+ ## Standard Mode
151
+
152
+ Standard Mode is a peer Workflow Suite mode for direct active work. It gives users the Workflow Suite environment while keeping execution immediate and user controlled.
153
+
154
+ Standard Mode can use shared Workflow Suite configuration, presets, configurable model selection, Standard-specific model overrides, full configurable sub-agent orchestration, safety controls, widgets, configurable clarification, and optional dynamic To Do tracking with progress display. It is designed for users who want active execution support without requiring a formal approved plan or mission milestone structure.
155
+
156
+ Use Standard Mode for:
157
+
158
+ - direct active work,
159
+ - implementation assistance,
160
+ - quick operational tasks,
161
+ - focused investigations,
162
+ - multi-step execution where the user does not want formal approval gates,
163
+ - tasks where visible progress is useful without a full approved plan,
164
+ - tasks where the user wants shared models, presets, configurable sub-agents, widgets, and safety controls.
165
+
166
+ Workflow Suite supports multiple valid working styles. Standard Mode is for direct active execution. Plan Mode is for users who want formal planned execution with approval and validation gates. Mission Mode is for users who want longer-running milestone workflows with checkpoints and continuity. The user chooses the workflow style that fits the work and their preferred process.
167
+
168
+ Standard Mode sub-agent support is configurable by phase. Users can allow, deepen, maximize, or force planning/research, execution, repair, review, and validation workers while staying in Standard Mode. This gives Standard Mode access to the same agent ecosystem without turning the interaction into Plan Mode or Mission Mode.
169
+
170
+ Dynamic To Do expectations:
171
+
172
+ - To Do tracking is optional, configurable, and task-specific.
173
+ - To Do items are generated from the actual task, not a fixed checklist.
174
+ - Item count is dynamic: Standard Mode can run with no To Do list, a short To Do list, or a longer numbered list when useful.
175
+ - When To Do tracking is enabled, Standard Mode starts active responses with an enforced `Standard Auto Checks` contract explaining whether To Do tracking is useful, already active, not needed, on request, required, or disabled.
176
+ - Generic boilerplate items are rejected by design.
177
+ - Progress widgets and status lines render from the real item count.
178
+ - The `standard_todo` tool initializes dynamic items with `action: "set"` and updates progress with `action: "update"`.
179
+ - `To Do Trigger Mode` controls when Standard Mode starts lightweight To Do progress tracking: Disabled never starts it, On request starts it only when explicitly requested, Automatic when useful lets Standard Mode decide, and Required creates or maintains it before substantive active task work.
180
+ - Standard To Do tracking is not a Plan Mode approved plan and not Mission Mode milestones; it is lightweight progress visibility for direct Standard Mode work.
181
+
182
+ Configurable clarification:
183
+
184
+ - Clarification can be enabled, limited, forced for non-trivial work, or disabled through settings.
185
+ - Standard clarification modes are `auto`, `always_for_nontrivial`, and `never`; legacy `minimal` maps to `auto` and legacy `off` maps to `never`.
186
+ - When clarification is enabled, Standard Mode starts active responses with an enforced `Standard Auto Checks` contract explaining whether clarification is asked, skipped, or disabled before proceeding.
187
+ - In `always_for_nontrivial`, Standard Mode asks/receives dynamic task-specific clarification before Required To Do tracking or substantive direct work continues.
188
+ - When `standard.interactiveClarificationEnabled` is enabled, parseable Standard clarification questions can be answered with the guided UI; when disabled, the same dynamic questions remain answerable by shorthand/freeform text.
189
+ - When clarification is disabled, Standard Mode proceeds with reasonable assumptions.
190
+ - Clarification does not move the user into Plan Mode or Mission Mode unless the user chooses to switch modes.
191
+
192
+ Core behavior:
193
+
194
+ - `/standard` or `Ctrl+Shift+S` enters Standard Mode.
195
+ - `/standard <task>` enters Standard Mode and starts that task.
196
+ - `/standard status` shows active Standard settings, latest auto-check decisions, and To Do progress.
197
+ - `/standard todo` shows dynamic To Do tracking.
198
+ - `/standard todo clear` clears the Standard To Do list.
199
+ - `/standard exit` returns to idle.
200
+
201
+ Standard Mode settings live under `standard.*`, including `autoTodoEnabled`, `todoTriggerMode`, `todoProgressVisible`, `clarificationEnabled`, `clarificationMode`, `maxClarificationQuestions`, `interactiveClarificationEnabled`, `clarificationTiming`, `clarificationQualityGate`, `allowClarificationWithoutAnalysis`, `useSubagentsBeforeClarification`, `allowSubagents`, `subagentScope`, Standard-specific sub-agent phase overrides, `statusWidgetVisible`, `modelRole`, and `useSharedExecutorModel`. These controls are user-configurable through `/workflow settings Standard Mode` or `/workflow-settings configure standard-mode`, and custom workflow presets can save/apply Standard Mode settings.
202
+
203
+ ## Plan Mode
204
+
205
+ Plan Mode is a peer Workflow Suite mode for users who want formal planned execution. It turns a user request into an approval-ready implementation plan, optionally asks task-specific clarification questions, waits for approval, and then hands off through the configured workflow sequence.
206
+
207
+ Choose Plan Mode when you want:
208
+
209
+ - explicit scope before edits,
210
+ - user approval before implementation,
211
+ - a durable implementation plan,
212
+ - optional reviewer input before execution,
213
+ - post-execution validation,
214
+ - safe repair/retry handling after validation failures.
215
+
216
+ The intended Plan Mode sequence is:
217
+
218
+ ```text
219
+ Planner -> user approval -> optional Reviewer -> Executor -> optional Validator
220
+ ```
221
+
222
+ The reviewer is a pre-execution second opinion on the approved plan and risk profile. The validator is a post-execution read-only check of what changed and whether the approved plan was satisfied. Each role can use a different provider/model and thinking level, or share the same model in simpler setups.
223
+
224
+ Core behavior:
225
+
226
+ - Plain `/p` enters Plan Mode and waits for your next message.
227
+ - `/p <task>` starts planning immediately.
228
+ - `/plan <task>` provides the same workflow through the full command name.
229
+ - The planner must choose either `PLAN_DECISION: clarify` or `PLAN_DECISION: plan`.
230
+ - Clarification questions are generated from the actual task, not static boilerplate.
231
+ - Execution is approval-gated.
232
+ - Execution must follow the approved plan only.
233
+ - Validation is read-only and reports PASS, PARTIAL PASS, FAIL, or UNKNOWN.
234
+ - Plan history can save draft, revised, and approved plans.
235
+
236
+ Common commands:
237
+
238
+ ```text
239
+ /p
240
+ /p <task>
241
+ /p status
242
+ /p approve
243
+ /p revise <feedback>
244
+ /p cancel
245
+ /plan
246
+ /plan <task>
247
+ /plan approve
248
+ /plan revise <feedback>
249
+ /plan cancel
250
+ /clarify questions
251
+ /clarify answer 1A 2C
252
+ /execute
253
+ /validate
254
+ /workflow plans list
255
+ /workflow plans list latest
256
+ ```
257
+
258
+ ## Mission Mode
259
+
260
+ Mission Mode is a peer Workflow Suite mode for users who want long-running, milestone-based work. It persists a mission goal, generates milestones, requires approval, executes the current milestone through workflow gates, checkpoints progress, validates before advancement, and supports pause/resume/repair/retry.
261
+
262
+ Choose Mission Mode when you want:
263
+
264
+ - durable milestone state,
265
+ - checkpoint history,
266
+ - pause/resume across turns,
267
+ - supervised continuation through multiple phases,
268
+ - validation before milestone advancement,
269
+ - repair/retry handling while preserving mission context.
270
+
271
+ Mission Mode is designed for objectives that may span multiple agent turns or benefit from durable recovery:
272
+
273
+ - durable mission state,
274
+ - milestone plans,
275
+ - checkpoint summaries,
276
+ - autonomy controls,
277
+ - progress widgets,
278
+ - validation before milestone advancement,
279
+ - safe repair/revalidation when validation fails,
280
+ - runtime accounting based on active processing time.
281
+
282
+ Core commands:
283
+
284
+ ```text
285
+ /mission
286
+ /mission help
287
+ /mission start <goal>
288
+ /mission <goal>
289
+ /mission clarify
290
+ /mission clarify answer 1A 2C
291
+ /mission clarify skip 1
292
+ /mission plan
293
+ /mission review
294
+ /mission approve
295
+ /mission run
296
+ /mission continue
297
+ /mission next
298
+ /mission resume
299
+ /mission pause
300
+ /mission stop
301
+ /mission checkpoints
302
+ /mission retry
303
+ /mission repair
304
+ /mission revalidate
305
+ /mission status
306
+ /mission list
307
+ /mission latest
308
+ /mission set autonomy manual|approval_gated|supervised_auto|full_auto
309
+ /mission sync-settings
310
+ /m status
311
+ ```
312
+
313
+ Mission autonomy levels:
314
+
315
+ - `manual` — pause after each milestone or gate.
316
+ - `approval_gated` — require explicit approval to start mission execution.
317
+ - `supervised_auto` — continue through safe gates according to settings.
318
+ - `full_auto` — blocked unless `missions.allowFullAuto=true` and mission safety allows it.
319
+
320
+ Mission Mode never silently advances a failed milestone. Validation failures trigger safe repair/revalidation within configured limits or block for user review. Mission Mode can use shared workflow model roles or Mission-specific planner, executor, reviewer, and validator model settings when long-running work needs different reasoning or independence than normal Plan/Standard work.
321
+
322
+ ## Dynamic Clarification System
323
+
324
+ Pi Workflow Suite supports dynamic clarification in both Plan Mode and Mission Mode.
325
+
326
+ Clarification behavior:
327
+
328
+ - Questions are generated from the actual task or mission goal.
329
+ - Options use concrete A/B/C/D choices.
330
+ - `D` is a custom answer.
331
+ - Questions can be skipped.
332
+ - Shorthand answers are accepted, for example `1A, 2C, 3D: custom answer`.
333
+ - Guided UI selection is used when available.
334
+
335
+ Configuration modes:
336
+
337
+ - `auto` — clarify when the task is ambiguous, risky, broad, or underspecified.
338
+ - `always_for_nontrivial` — clarify for non-trivial work unless the request already provides the material decisions.
339
+ - `never` — avoid questions and state assumptions instead.
340
+
341
+ Plan Mode settings live under `planning.*`. Standard Mode has configurable clarification controls under `standard.*`. Mission Mode has separate clarification settings under `missions.*`.
342
+
343
+ ## Workflow Roles And Model Selection
344
+
345
+ Pi Workflow Suite separates workflow responsibilities from the model that powers them. Planner, Executor, Reviewer, Validator, and Mission are workflow roles. They are not themselves models. Model settings choose which provider/model and thinking level should power each role.
346
+
347
+ This is one of the suite's fundamental controls. A user can keep the same model everywhere for a simple setup, or deliberately split roles when the work benefits from specialization: a deeper planner, a precise executor, a skeptical reviewer, an independent validator, and a separate compaction model for context summarization.
348
+
349
+ This is also separate from bundled sub-agents. Sub-agents are isolated workers used for research, planning support, execution support, review, validation, and repair support. Model selection controls the underlying model route for a workflow role; sub-agent settings control when additional workers are requested.
350
+
351
+ Default Plan Mode sequence:
352
+
353
+ ```text
354
+ Planner -> user approval -> optional Reviewer -> Executor -> optional Validator
355
+ ```
356
+
357
+ Role/model intent:
358
+
359
+ | Role | Why it may need a different model |
360
+ |---|---|
361
+ | Planner | Defines scope, assumptions, files to inspect, sequencing, risk, validation strategy, and rollback. This is often where deeper reasoning is most valuable. |
362
+ | Reviewer | Provides a pre-execution second opinion on the approved plan before edits begin. A different model can catch missing requirements, unsafe steps, destructive actions, policy risk, or weak acceptance criteria. |
363
+ | Executor | Performs the approved work. This role benefits from a model that is strong at tool use, code edits, instruction following, and staying inside the approved scope. |
364
+ | Validator | Checks completed work with read-only tools and reports whether the approved plan was satisfied. A different model from the executor reduces shared blind spots. |
365
+ | Mission roles | Mission Planner, Mission Executor, Mission Reviewer, and Mission Validator can use Mission-specific overrides for long-running milestone work that needs different reasoning, continuity, or validation rigor. |
366
+ | Compaction | Summarizes session context at context-boundary pressure. It can use a cheaper, faster, longer-context, or summarization-focused model instead of the main planning/execution model. |
367
+
368
+ Shared workflow roles:
369
+
370
+ - Planner
371
+ - Executor
372
+ - Reviewer
373
+ - Validator
374
+
375
+ Standard Mode and Mission Mode can either use shared roles or mode-specific role overrides:
376
+
377
+ - Standard Planner / Mission Planner
378
+ - Standard Executor / Mission Executor
379
+ - Standard Reviewer / Mission Reviewer
380
+ - Standard Validator / Mission Validator
381
+
382
+ Standard Mode, Plan Mode, and Mission Mode use model settings differently:
383
+
384
+ - **Standard Mode** supports direct active execution with current Pi model, shared Workflow Suite model selection, or Standard-specific model selection, plus planning/research/execution/repair/review/validation sub-agent workers and optional dynamic To Do progress; it does not require approval, validation/repair, or milestone gates unless the user chooses settings or another workflow that adds them.
385
+ - **Plan Mode** supports formal planned execution: plan, approve, optionally review with a second model, execute with the selected executor model, optionally validate with an independent validator model, and optionally repair/retry failed validation.
386
+ - **Mission Mode** supports persistent milestone work: plan mission milestones, approve the mission, execute the current milestone, validate that milestone, checkpoint, repair/retry if needed, optionally run final whole-mission validation, then continue or complete according to autonomy settings. Mission-specific role overrides let long-running work use different planner/executor/reviewer/validator choices from normal Plan Mode.
387
+
388
+ The included example settings provide defaults, but users can change provider/model, thinking level, role enablement, reviewer/validator behavior, Mission Mode autonomy, and mission-specific model selection through `/workflow-settings`. Do not treat the shipped defaults as the only supported setup. Provider names must match the user's configured Pi/Factory model route and API compatibility; official providers and proxy/generic providers may require different provider values even when the display model name looks similar.
389
+
390
+ Thinking levels:
391
+
392
+ ```text
393
+ off, minimal, low, medium, high, xhigh
394
+ ```
395
+
396
+ Configuration examples:
397
+
398
+ ```text
399
+ # Shared Plan/Workflow roles
400
+ /workflow models list
401
+ /workflow models set planner <provider> <model>
402
+ /workflow models set executor <provider> <model>
403
+ /workflow models set reviewer <provider> <model>
404
+ /workflow models set validator <provider> <model>
405
+ /workflow models thinking planner high
406
+ /workflow models thinking validator xhigh
407
+
408
+ # Interactive settings menus
409
+ /workflow settings Shared Models
410
+ /workflow settings Standard Mode
411
+ /workflow settings Mission Mode
412
+ /workflow settings Shared Compaction
413
+ /workflow-settings configure models
414
+ /workflow-settings configure standard-mode
415
+ /workflow-settings configure mission-mode
416
+ /workflow-settings configure compaction
417
+
418
+ # Standard-specific model overrides
419
+ /workflow-settings set standard useStandardSpecificModels true|false
420
+ /workflow-settings set standard-models executor <provider> <model>
421
+ /workflow-settings set standard-models validator <provider> <model>
422
+
423
+ # Mission-specific model overrides
424
+ /workflow-settings set missions useMissionSpecificModels true|false
425
+ # Then use /workflow-settings configure mission-mode to select Mission Planner, Executor, Reviewer, and Validator models.
426
+
427
+ # Compaction model selection and token budget
428
+ /workflow-settings set context compactionMode custom_model
429
+ /workflow-settings set context compactionModelProvider <provider>
430
+ /workflow-settings set context compactionModel <model>
431
+ /workflow-settings set context customCompactionEnabled true
432
+ /workflow-settings set context customCompactionReserveTokens 4096-65536|default|reset
433
+ /workflow-settings set context customCompactionKeepRecentTokens 1000-200000|default|reset
434
+ ```
435
+
436
+ Shared model selection is available through `/workflow settings Shared Models` or direct `/workflow-settings configure models` commands. Standard-specific and mission-specific model selection is available through their mode settings menus.
437
+
438
+ ## Workflow Settings UI
439
+
440
+ The settings UI is the main control surface for workflow behavior. Canonical command vocabulary is: `list` prints information to the screen, `configure` opens an interactive configuration menu, `set` directly changes a setting, and workflow actions use direct verbs such as plan, run, validate, answer, approve, or cancel.
441
+
442
+ Public slash menu entries use the grouped `/workflow settings ...` surface. Use `/workflow help` for concise command discovery.
443
+
444
+ ```text
445
+ /workflow settings
446
+ /workflow settings Standard Mode
447
+ /workflow settings Plan Mode
448
+ /workflow settings Mission Mode
449
+ /workflow settings Presets
450
+ /workflow settings Theme
451
+ /workflow settings UI Widgets
452
+ /workflow settings Shared Models
453
+ /workflow settings Shared Sub-agents
454
+ /workflow settings Shared Compaction
455
+ /workflow settings Global Safety
456
+ /workflow settings Show Current Settings
457
+ /workflow settings About
458
+ /workflow settings Health
459
+ /workflow settings Summary
460
+ ```
461
+
462
+ Direct legacy compatibility settings commands are also available for command-line style configuration:
463
+
464
+ ```text
465
+ /workflow-settings
466
+ /workflow-settings list
467
+ /workflow-settings help
468
+ /workflow-settings scope
469
+ /workflow-settings write-target
470
+ /workflow-settings create-project-override
471
+ ```
472
+
473
+ Settings menus:
474
+
475
+ - Standard Mode
476
+ - Plan Mode
477
+ - Mission Mode
478
+ - Presets
479
+ - Theme
480
+ - UI Widgets
481
+ - Shared Models
482
+ - Shared Sub-agents
483
+ - Shared Compaction
484
+ - Global Safety
485
+
486
+ ### Workflow Presets
487
+
488
+ Presets are user-configurable workflow speed/rigor profiles for Standard, Plan, and Mission workflow behavior. Built-in presets primarily shape Plan/Mission rigor and shared sub-agent policy. Custom presets can also save/apply Standard Mode To Do, clarification, widget, model-role, and Standard sub-agent preferences. Presets do not change model/provider selections, API keys, auth/session files, or compaction model settings.
489
+
490
+ Built-in presets:
491
+
492
+ Standard Mode keeps the active `standard.*` settings unless a custom preset includes Standard Mode overrides. This prevents built-in Plan/Mission rigor profiles from unexpectedly changing normal-assistance behavior.
493
+
494
+ ```text
495
+ Simple — Fast path
496
+ Plan: fast, max 2 clarification questions
497
+ Review: manual/optional
498
+ Validation: manual/optional
499
+ Sub-agents: forced one-worker support for every phase that runs
500
+ Mission: approval-gated, fast planning, milestone validation off by default
501
+
502
+ Standard — Balanced
503
+ Plan: standard, max 3 clarification questions
504
+ Review: manual/optional; not automatic before execution
505
+ Validation: automatic after execution
506
+ Sub-agents: forced one-worker planning; execution/repair/review/validation keep two-worker support when those phases run
507
+ Mission: approval-gated, auto-run after approval, standard planning, milestone validation on
508
+
509
+ Deep — Careful
510
+ Plan: deep, asks clarification for non-trivial work
511
+ Review: automatic
512
+ Validation: automatic
513
+ Sub-agents: forced larger teams across planning/execution/repair/review/validation
514
+ Mission: deep planning with final validation
515
+
516
+ Maximum — Thorough
517
+ Plan: maximum
518
+ Review: automatic
519
+ Validation: automatic
520
+ Sub-agents: forced maximum teams across planning/execution/repair/review/validation
521
+ Mission: supervised auto, final validation, higher retry budget
522
+ ```
523
+
524
+ `/workflow settings Show Current Settings` and `/workflow-settings list` print an Active Profile section near the top so the active preset is explained before the detailed settings.
525
+
526
+ Quick access:
527
+
528
+ ```text
529
+ /workflow presets # open preset selector
530
+ Ctrl+Shift+U # cycle presets from the footer/status line while Standard/Plan/Mission Mode is active
531
+ /workflow presets list
532
+ /workflow presets apply <name>
533
+ /workflow presets next
534
+ /workflow presets prev
535
+ /workflow presets save <name>
536
+ /workflow presets create <name> from simple|standard|deep|maximum
537
+ /workflow presets edit <name>
538
+ /workflow presets rename <old-name> to <new-name>
539
+ /workflow presets delete <name>
540
+ ```
541
+
542
+ 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:
543
+
544
+ ```text
545
+ Idle: Standard:Ctrl+Shift+S Plan:Ctrl+Shift+L Mission:Ctrl+Shift+M
546
+ Plan: Widgets:Ctrl+Shift+T/B Preset:deep Ctrl+Shift+U Standard:Ctrl+Shift+S Mission:Ctrl+Shift+M
547
+ Standard: Widgets:Ctrl+Shift+T/B Preset:deep Ctrl+Shift+U Plan:Ctrl+Shift+L Mission:Ctrl+Shift+M
548
+ Mission: Widgets:Ctrl+Shift+T/B Preset:deep Ctrl+Shift+U Standard:Ctrl+Shift+S Plan:Ctrl+Shift+L
549
+ ```
550
+
551
+ Cross-switching is enabled by default (`Ctrl+Shift+S` toggles Standard Mode, `Ctrl+Shift+M` from Plan Mode enters Mission Mode, and `Ctrl+Shift+L` from Mission Mode enters Plan Mode).
552
+
553
+ Human-friendly names are normalized for command use. For example, creating `Joe simple preset` saves it as `joe-simple-preset`, then lists the exact command to apply it. Custom presets can include Standard Mode To Do/clarification settings as well as shared Plan, Mission, sub-agent, workflow, and UI settings.
554
+
555
+ Workflow Suite settings are separate from Pi core settings. Workflow Suite settings are loaded from:
556
+
557
+ 1. nearest project override found while walking upward from the current directory: `.pi/workflow-settings.json`, when present,
558
+ 2. global workflow settings: `~/.pi/agent/workflow-settings.json`,
559
+ 3. example defaults from this suite,
560
+ 4. built-in emergency fallback.
561
+
562
+ 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.
563
+
564
+ ## Themes And UI
565
+
566
+ 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.
567
+
568
+ Open the interactive theme menu from the public settings surface:
569
+
570
+ ```text
571
+ /workflow settings Theme
572
+ ```
573
+
574
+ Direct theme commands are also available:
575
+
576
+ ```text
577
+ /workflow-settings theme list
578
+ /workflow-settings theme use aurora|synthwave|matrix|nebula|ember|arctic|oceanic|royal|solar|graphite|access|diagnostic|classic|MediaDataFusion|none
579
+ /workflow-settings theme startup mission_control|diagnostic_center|workflow_duo|data_stream|neural_grid|minimal|custom_brand|none
580
+ /workflow-settings theme startup-logo none|pi|custom
581
+ /workflow-settings theme logo-text <letters>
582
+ /workflow-settings theme logo-font block|shadow|outline|wide|double|three_d
583
+ /workflow-settings theme logo-shadow down_right|down|up|left|right
584
+ /workflow-settings theme logo-color theme|primary|split
585
+ /workflow-settings theme startup-on-open enable|disable
586
+ /workflow-settings theme preview
587
+ /workflow-settings theme brand enable|disable
588
+ /workflow-settings theme brand text <custom text>
589
+ /workflow-settings theme brand base minimal|workflow_duo|mission_control|diagnostic_center|data_stream|neural_grid
590
+ ```
591
+
592
+ The interactive menu is the easiest way to configure appearance:
593
+
594
+ ```text
595
+ Workflow Theme
596
+ → List Theme Settings
597
+ Use Theme
598
+ Startup Visual
599
+ Startup Logo
600
+ Turn Startup Visual Off
601
+ Startup On Session Start
602
+ Preview Startup Visual Now
603
+ Back
604
+ ```
605
+
606
+ How the pieces fit together:
607
+
608
+ - **Theme** changes Workflow Suite colors for widgets, footer/status text, startup visuals, and optional input border styling.
609
+ - **Startup Visual** chooses the startup card layout: `none`, `minimal`, `workflow_duo`, `mission_control`, `diagnostic_center`, `data_stream`, `neural_grid`, or `custom_brand`.
610
+ - **Startup Logo** chooses what appears above the startup card: `none`, `pi`, or `custom`.
611
+ - **Custom Logo** uses short terminal text from `logo-text`; it is not an image, SVG, or file path.
612
+ - **Custom Brand** is for the `custom_brand` startup card. `brand text` sets the card text and `brand base` selects the card template.
613
+
614
+ `workflowTheme: none` keeps Workflow Suite functionality active while opting out of Workflow Suite visual theming. Standard Mode, Plan Mode, Mission Mode, presets, settings, validation, repair/retry behavior, widgets, and sub-agent orchestration remain available. With `workflowTheme: none`, Workflow Suite color helpers render plainly and the suite does not take ownership of the input-area border styling.
615
+
616
+ `startupVisual: none` is separate. It disables only the startup visual card. It does not disable the selected Workflow Suite theme, Standard Mode, Plan Mode, Mission Mode, widgets, presets, or commands.
617
+
618
+ Practical recipes:
619
+
620
+ ```text
621
+ # Open the guided appearance menu
622
+ /workflow settings Theme
623
+
624
+ # Preview the current startup card and logo
625
+ /workflow-settings theme preview
626
+
627
+ # Choose a complete visual style
628
+ /workflow-settings theme use synthwave
629
+ /workflow-settings theme startup mission_control
630
+ /workflow-settings theme startup-logo pi
631
+
632
+ # Add your own short terminal logo above the card
633
+ /workflow-settings theme startup-logo custom
634
+ /workflow-settings theme logo-text ACME
635
+ /workflow-settings theme logo-font shadow
636
+ /workflow-settings theme logo-color primary
637
+
638
+ # Use a branded startup card without changing workflow behavior
639
+ /workflow-settings theme startup custom_brand
640
+ /workflow-settings theme brand text Acme Workflow
641
+ /workflow-settings theme brand base mission_control
642
+
643
+ # Turn off only the startup card
644
+ /workflow-settings theme startup none
645
+
646
+ # Turn off Workflow Suite visual theming while keeping features active
647
+ /workflow-settings theme use none
648
+ ```
649
+
650
+ ## Sub-Agents And Parallel Work
651
+
652
+ Pi Workflow Suite includes reusable workflow agents and skills. Agents are isolated-context workers that can be invoked by the sub-agent tool or by Workflow Suite orchestration policy. Skills are bundled guidance modules for repeatable workflow practices. Runtime tools such as `workflow_web_search`, `workflow_web_fetch`, `workflow_diagram`, `workflow_progress`, and `standard_todo` are separate from both agents and skills.
653
+
654
+ Pi Workflow Suite includes reusable workflow agents:
655
+
656
+ - `workflow-orchestrator`
657
+ - `codebase-research`
658
+ - `implementation-planning`
659
+ - `quality-validation`
660
+ - `general-worker`
661
+
662
+ Bundled skills include:
663
+
664
+ - `codebase-discovery`
665
+ - `project-rules-audit`
666
+ - `implementation-planning`
667
+ - `safe-execution`
668
+ - `validation-review`
669
+ - `git-safe-summary`
670
+ - `find-skills`
671
+
672
+ Sub-agent settings are workflow orchestration policy, not a universal permissions UI. They influence when Pi Workflow Suite asks to use sub-agents during planning, execution, repair, review, and validation, and how aggressively it should do so. Standard Mode can use its own phase-specific overrides while inheriting shared sub-agent settings by default. Built-in presets intentionally force sub-agent use so independent workers become the normal path, especially for execution.
673
+
674
+ They include:
675
+
676
+ - phase policies: `off`, `auto`, `deep`, `maximum`, `forced`,
677
+ - worker targets for deep/maximum/forced policies,
678
+ - activity indicator settings,
679
+ - global and project agent discovery,
680
+ - parallelism preferences for workflow phases.
681
+
682
+ Important limits:
683
+
684
+ - Pi Workflow Suite does **not** provide a UI for editing arbitrary sub-agent tool permissions.
685
+ - Actual sub-agent capabilities come from the agent definition, declared tools, Pi/subagent behavior, and user configuration.
686
+ - The bundled support agents are written for research/planning/review/validation support, but the suite does not globally prevent users from configuring other sub-agents with broader tools.
687
+ - If a user defines or installs an execution sub-agent with `edit`, `write`, `bash`, or other powerful tools, that sub-agent may be able to use them according to Pi/subagent rules.
688
+ - Parallel agent settings are not a sandbox and are not proof that a sub-agent is read-only.
689
+
690
+ Important distinction:
691
+
692
+ > Parallel agent orchestration is not the same as parallel file writes.
693
+
694
+ Pi Workflow Suite can require multiple sub-agent-assisted workflow phases while keeping its own workflow guidance and default file-write path sequential. The main executor owns final edits; sub-agents are used for fast parallel inspection, planning, challenge review, validation, and repair preparation. If an underlying sub-agent has write-capable tools, that capability comes from its agent/Pi configuration, not from a Workflow Suite permission editor. Parallel file edits remain an advanced, conflict-sensitive mode and should stay explicitly protected.
695
+
696
+ Commands:
697
+
698
+ ```text
699
+ /workflow subagents status
700
+ /workflow subagents list
701
+ /workflow subagents orchestration
702
+ /workflow-settings configure subagents
703
+ ```
704
+
705
+ ## Review, Validation, Repair, And Retry
706
+
707
+ Plan Mode supports reviewer, validator, and optional repair/retry handoffs:
708
+
709
+ - Reviewer checks safety and approach before execution.
710
+ - Executor performs approved work.
711
+ - Validator performs read-only validation afterward.
712
+ - FAIL or PARTIAL PASS can trigger safe repair and revalidation when enabled.
713
+ - `/plan repair`, `/plan retry`, and `/plan revalidate` are available after validation failures.
714
+
715
+ Plan repair settings include:
716
+
717
+ - `workflow.autoRepairValidationFailures`
718
+ - `workflow.validationRetryMode`
719
+ - `workflow.maxValidationRetriesPerPlan`
720
+ - `workflow.maxValidationRetriesPerWorkflow`
721
+ - `workflow.pauseAfterValidationFailure`
722
+ - `workflow.requireApprovalForOutOfScopeRepair`
723
+ - `workflow.requireApprovalForDestructiveRepair`
724
+
725
+ Mission Mode adds milestone repair/retry loops:
726
+
727
+ - Validator PASS is required before a milestone advances.
728
+ - FAIL or PARTIAL PASS does not silently advance.
729
+ - Safe repair can run automatically when enabled.
730
+ - Revalidation runs after repair.
731
+ - Repair blocks if the failure appears destructive, out of scope, secret-adjacent, deployment-related, database-related, or otherwise unsafe.
732
+
733
+ Mission repair settings include:
734
+
735
+ - `missions.autoRepairValidationFailures`
736
+ - `missions.validationRetryMode`
737
+ - `missions.maxValidationRetriesPerMilestone`
738
+ - `missions.maxValidationRetriesPerMission`
739
+ - `missions.pauseAfterValidationFailure`
740
+ - `missions.requireApprovalForOutOfScopeRepair`
741
+ - `missions.requireApprovalForDestructiveRepair`
742
+
743
+ Mission Mode also supports optional final comprehensive validation after the last milestone passes:
744
+
745
+ - `missions.finalValidationEnabled`
746
+ - `missions.finalValidationRequiresPass`
747
+ - `missions.autoRepairFinalValidationFailures`
748
+ - `missions.maxFinalValidationRetries`
749
+
750
+ Milestone validation checks the current milestone only. Final comprehensive validation checks the whole mission across all milestones.
751
+
752
+ ## Compaction Support
753
+
754
+ Compaction settings are available through:
755
+
756
+ ```text
757
+ /workflow settings Shared Compaction
758
+ /workflow-settings configure compaction
759
+ ```
760
+
761
+ Supported modes:
762
+
763
+ - **Pi default** — preserve Pi built-in compaction.
764
+ - **Custom model** — route compaction summaries through a configured provider/model when available.
765
+ - **Disabled** — disables Workflow Suite custom compaction and leaves Pi fallback behavior.
766
+ - **Custom agent** — planned-only/backward-compatible mode; current releases keep Pi default fallback behavior instead of running agent-routed compaction.
767
+
768
+ 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.
769
+
770
+ ```text
771
+ /workflow-settings set context autoCompactionEnabled true|false
772
+ /workflow-settings set context compactionTriggerPercent 50-95|default|reset
773
+ /workflow-settings set context compactionCooldownMinutes 0-240
774
+ /workflow-settings set context customCompactionReserveTokens 4096-65536|default|reset
775
+ /workflow-settings set context customCompactionKeepRecentTokens 1000-200000|default|reset
776
+ ```
777
+
778
+ Important behavior:
779
+
780
+ - **Safe boundary**: proactive compaction runs at a safe after-turn idle agent boundary only.
781
+ - **Cooldown**: the cooldown is the minimum wait between proactive attempts; it is not a delay before compaction starts and does not block manual compaction.
782
+ - **Adaptive fit**: Custom model preparation is fit to the selected compaction model context window using configured reserve and keep-recent token settings.
783
+ - **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.
784
+ - **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`.
785
+
786
+ 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.
787
+
788
+ ## Diagram Support
789
+
790
+ 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.
791
+
792
+ Supported Mermaid types are:
793
+
794
+ ```text
795
+ flowchart
796
+ graph
797
+ sequenceDiagram
798
+ stateDiagram
799
+ stateDiagram-v2
800
+ classDiagram
801
+ erDiagram
802
+ xychart-beta
803
+ ```
804
+
805
+ The tool renders a terminal-friendly preview and uses a dark-mode-friendly visual treatment instead of random light-theme Mermaid overrides. The runtime creates SVG-first artifacts under `~/.pi/agent/workflow-suite/mermaid`; supported Pi surfaces expose clickable SVG artifact links so users can open generated diagrams outside the terminal. PNG rendering support is used for runtime image generation/fallback paths when available, and source-preserving fallback output is kept when full rendering is unavailable. Diagram artifacts are runtime files, not repository source files, and should not be committed or included in release snapshots unless intentionally exported.
806
+
807
+ ## Web Access
808
+
809
+ Workflow Suite registers first-party web tools when the extension loads:
810
+
811
+ ```text
812
+ workflow_web_search
813
+ workflow_web_fetch
814
+ ```
815
+
816
+ These tools are added to Workflow Suite modes by default when available. `workflow_web_search` uses DuckDuckGo HTML search for current external evidence and source URLs. `workflow_web_fetch` reads specific public HTTP(S) URLs and extracts text for source-backed evidence. Web content is treated as untrusted evidence, not as instructions.
817
+
818
+ Safety boundaries:
819
+
820
+ - only `http://` and `https://` URLs are allowed,
821
+ - localhost, private-network, internal, and local hosts are blocked,
822
+ - fetches use timeout and size limits,
823
+ - visible answers should cite source URLs when web evidence is used,
824
+ - sub-agent workers may not have the parent Workflow Suite web tools, so parent modes should perform required web research and pass findings into handoffs when needed.
825
+
826
+ Web access is Pi extension behavior, not a guarantee that every model, sub-agent, network, or runtime environment can reach the public web. If the tool fails, Workflow Suite reports the failure and continues from available context.
827
+
828
+ ## Repository Lock
829
+
830
+ Repo Lock is a Global Safety setting controlled through:
831
+
832
+ ```text
833
+ /workflow settings Global Safety
834
+ ```
835
+
836
+ The underlying setting is `safety.repoLockEnabled`. The interactive toggle is project-scoped: it writes to the active repository override at `.pi/workflow-settings.json` so Repo Lock can be enabled for one project without changing every Pi session. When enabled, Workflow Suite scopes path-based tools such as read, grep, find, ls, edit, and write to the current Git repository root and the live Pi runtime. Bash path detection is conservative and blocks detected paths outside the current repository or Pi runtime.
837
+
838
+ Repo Lock allows access to the Pi runtime directory for installed Workflow Suite tools, agents, skills, prompts, and runtime resources. Sub-agent calls are checked at the parent current working directory, but sub-agent child processes are guided by their own agent configuration and tool allow-list.
839
+
840
+ Repo Lock helps prevent accidental cross-repository work. It is not an operating-system sandbox, a complete shell parser, or a guarantee that every possible child process is contained. Review commands before running them, especially commands that invoke other tools or scripts.
841
+
842
+ ## Plan History
843
+
844
+ Plan history can persist workflow plans under Pi runtime state. Saved plans include:
845
+
846
+ - task,
847
+ - clarification questions and answers,
848
+ - final plan,
849
+ - approval status,
850
+ - model role usage,
851
+ - sub-agent metadata,
852
+ - save reason.
853
+
854
+ Obvious secrets are redacted before plan history is written. Plan history is runtime data and is not part of this repository.
855
+
856
+ Commands:
857
+
858
+ ```text
859
+ /workflow plans list
860
+ /workflow plans list latest
861
+ /workflow plans list <id>
862
+ /workflow plans cleanup [limit]
863
+ ```
864
+
865
+ Some completed workflow summaries may say `/workflow plans show <id>`. Current command handling resolves saved records through `/workflow plans <id>` or `/workflow plans list <id>`; use `/workflow plans list` to discover valid IDs.
866
+
867
+ ## Mission Progress, Checkpoints, And Runtime Tracking
868
+
869
+ Mission Mode tracks progress with:
870
+
871
+ - milestone status,
872
+ - segmented progress bar,
873
+ - current and next milestone,
874
+ - latest checkpoint,
875
+ - validation result,
876
+ - repair retry counts,
877
+ - next action,
878
+ - active runtime,
879
+ - wall-clock age,
880
+ - runtime counter state.
881
+
882
+ Mission checkpoints record durable resume context after planning, approval, execution, validation, pause, stop, repair, and retry events.
883
+
884
+ Runtime tracking is active-runtime based:
885
+
886
+ - Running/validating/repairing/revalidating/checkpointing count as active runtime.
887
+ - Paused, blocked, stopped, completed, failed, draft, planned, and approved states do not accumulate active runtime.
888
+ - `maxRuntimeHours` is enforced against active runtime at mission start/continue/validation/repair gates.
889
+
890
+ Workflow entry and widget controls are available through `/standard`, `/plan`, `/mission`, and `/workflow widgets`. Keyboard shortcuts keep the footer mode-specific:
891
+
892
+ ```text
893
+ Ctrl+Shift+S toggle Standard Mode
894
+ Ctrl+Shift+L enter Plan Mode
895
+ Ctrl+Shift+M enter Mission Mode
896
+ Ctrl+Shift+T toggle active Standard/Plan/Mission top widget
897
+ Ctrl+Shift+B toggle active Standard/Plan/Mission bottom widget
898
+ Ctrl+Shift+U cycle presets while Standard/Plan/Mission Mode is active
899
+ ```
900
+
901
+ Widget commands:
902
+
903
+ ```text
904
+ /workflow widgets status
905
+ /workflow widgets list
906
+ /workflow widgets configure
907
+ /workflow widgets toggle top
908
+ /workflow widgets toggle bottom
909
+ /workflow widgets on
910
+ /workflow widgets off
911
+ ```
912
+
913
+ Footer hints can be tuned without disabling the actual commands/shortcuts:
914
+
915
+ ```text
916
+ /workflow-settings set ui showIdleWorkflowEntryHint true|false
917
+ /workflow-settings set ui showActiveWorkflowSwitchHint true|false
918
+ /workflow-settings set ui showWidgetShortcutHint true|false
919
+ /workflow-settings set ui showPresetShortcutHint true|false
920
+ ```
921
+
922
+ The interactive path is `/workflow settings UI Widgets` → `Footer Hints`. Direct command users can also open it with `/workflow-settings configure widgets`.
923
+
924
+ 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.
925
+
926
+ ## Safety Model
927
+
928
+ Pi Workflow Suite uses layered safety controls:
929
+
930
+ - Plan Mode is read-only.
931
+ - Reviewer and Validator modes are read-only.
932
+ - Execution is gated by approved plans.
933
+ - Mission execution is gated by approved milestones.
934
+ - Mission validation must pass before milestone advancement.
935
+ - Destructive bash patterns are blocked by tool guards.
936
+ - `full_auto` is blocked unless explicitly enabled.
937
+ - Mission repair blocks when approval is needed.
938
+ - Runtime state, credentials, logs, sessions, private memories, and project-specific rules are excluded from the repository and installer.
939
+
940
+ The suite is not a sandbox. Pi extensions and agents run with local user permissions. Review commands and diffs before running or installing any third-party package. Memories, credentials, runtime state, sessions, private rules, project-specific rules, logs, local environment files, and private runtime material are excluded from the repository and installer.
941
+
942
+ ## Installation
943
+
944
+ ### One-shot install
945
+
946
+ ```bash
947
+ pi install npm:@mediadatafusion/pi-workflow-suite
948
+ ```
949
+
950
+ ### Project-local install
951
+
952
+ ```bash
953
+ cd /path/to/project
954
+ pi install -l npm:@mediadatafusion/pi-workflow-suite
955
+ ```
956
+
957
+ ### Source install
958
+
959
+ ```bash
960
+ git clone https://github.com/MediaDataFusion/pi-workflow-suite.git
961
+ cd pi-workflow-suite
962
+ ./scripts/install-to-live.sh
963
+ ./scripts/verify-live.sh
964
+ ```
965
+
966
+ The source installer creates a backup first, then copies safe reusable suite files into user-level Pi locations under `~/.pi/agent`: package manifests, extensions (including the bundled subagent extension), agents, skills, config examples, and workflow prompt templates under `config/prompts/`. It refuses symlinks and excludes runtime state, credentials, logs, sessions, private rules, memories, project-specific rules, local environment files, backups, broken files, and Finder debris. Repository docs, README, license files, and `VERSION` are package/repository files; they are not copied into the live runtime by `scripts/install-to-live.sh`.
967
+
968
+ Live runtime hygiene helpers are also available:
969
+
970
+ ```bash
971
+ ./scripts/audit-live.sh
972
+ ./scripts/quarantine-live-junk.sh # dry run
973
+ ./scripts/quarantine-live-junk.sh --apply # move known stale debris to quarantine
974
+ ```
975
+
976
+ Operational scripts:
977
+
978
+ | Script | Purpose |
979
+ |---|---|
980
+ | `scripts/install-to-live.sh` | Install release-safe suite resources into the live Pi runtime after creating a backup. |
981
+ | `scripts/verify-live.sh` | Verify required live files and run a basic Pi load check. |
982
+ | `scripts/audit-live.sh` | Inspect live runtime hygiene without printing secrets. |
983
+ | `scripts/audit-settings.sh [target-cwd]` | Report Pi core and Workflow Suite settings scopes without writing settings or printing secrets. |
984
+ | `scripts/backup-live.sh` | Create a timestamped live-runtime backup while excluding credentials, sessions, logs, and workflow state. |
985
+ | `scripts/quarantine-live-junk.sh` | Dry-run or move known stale runtime debris to quarantine; it does not delete files. |
986
+ | `scripts/bootstrap-project.sh /path/to/project` | Create project-local Workflow Suite setup files for a target project. |
987
+
988
+ The live Pi runtime should not contain a top-level `.git`, stale `*.backup.*` / `*.broken.*` files in active resource directories, or old recovery/disabled directories mixed with current resources. Quarantine moves files; it does not delete them.
989
+
990
+ ## Quick Start
991
+
992
+ After installation:
993
+
994
+ ```bash
995
+ pi
996
+ ```
997
+
998
+ Then try:
999
+
1000
+ ```text
1001
+ /workflow status
1002
+ /workflow settings Show Current Settings
1003
+ /workflow settings Theme
1004
+ /standard
1005
+ /p
1006
+ /mission help
1007
+ ```
1008
+
1009
+ Use Standard Mode for direct active work:
1010
+
1011
+ ```text
1012
+ /standard Inspect the current docs and summarize what needs attention
1013
+ ```
1014
+
1015
+ Choose Plan Mode when you want approval-gated implementation:
1016
+
1017
+ ```text
1018
+ /p Update the README install section and verify the docs-only diff
1019
+ ```
1020
+
1021
+ Choose Mission Mode when you want milestone-based, resumable work:
1022
+
1023
+ ```text
1024
+ /mission start Audit the project documentation and propose cleanup tasks
1025
+ ```
1026
+
1027
+ ## Core Commands
1028
+
1029
+ | Command | Purpose |
1030
+ |---|---|
1031
+ | `/workflow help` | Show concise public workflow commands. |
1032
+ | `/workflow status` | List current workflow, Standard, Plan, and Mission state. |
1033
+ | `/standard` | Enter Standard Mode for direct active work. |
1034
+ | `/p` / `/plan` | Plan a task before editing. |
1035
+ | `/clarify` | Answer Plan Mode clarification questions. |
1036
+ | `/execute` | Run an approved plan. |
1037
+ | `/validate` | Validate implementation against the approved plan. |
1038
+ | `/plan repair` / `/plan retry` / `/plan revalidate` | Repair or revalidate a failed Plan Mode validation. |
1039
+ | `/workflow plans list` | List saved plan history. |
1040
+ | `/mission` | Start or continue Mission Mode. |
1041
+ | `/workflow settings` | Open Workflow Suite settings. |
1042
+ | `/workflow settings Theme` | Open Workflow Suite theme and startup visual settings. |
1043
+ | `/workflow settings Show Current Settings` | List effective Workflow Suite settings. |
1044
+ | `/workflow settings About` | Show Workflow Suite version and about information. |
1045
+ | `/workflow settings Health` | Show concise effective Workflow Suite settings health. |
1046
+ | `/workflow settings Summary` | Show concise effective Workflow Suite settings summary. |
1047
+ | `/workflow models` / `/workflow models list` | List shared role models. |
1048
+ | `/workflow subagents status` | List workflow sub-agent policy status. |
1049
+ | `/workflow widgets` / `/workflow widgets list` | List widget visibility. |
1050
+ | `/workflow widgets toggle top` / `/workflow widgets toggle bottom` | Toggle active mode top or bottom widget. |
1051
+ | `/workflow widgets on` / `/workflow widgets off` | Enable or disable active workflow widgets. |
1052
+ | `/workflow presets` | Open preset selector. |
1053
+ | `/mission clarify` / `/mission clarify answer 1A 2C` | Review or answer Mission Mode clarification. |
1054
+ | `/mission set autonomy manual|approval_gated|supervised_auto|full_auto` | Set Mission Mode autonomy. |
1055
+ | `/mission sync-settings` | Sync active Mission state with current settings. |
1056
+
1057
+ ## Settings Reference
1058
+
1059
+ Primary settings areas:
1060
+
1061
+ - `planning` — clarification mode, question count, planning depth.
1062
+ - `workflow` — approval, reviewer/validator automation, plan history.
1063
+ - `models` — provider/model choices for shared planner, executor, reviewer, and validator roles.
1064
+ - `standard` — Standard Mode enablement, dynamic To Do tracking, configurable clarification, widgets, model role, Standard sub-agent orchestration, and shared model selection.
1065
+ - `missions` — Mission Mode autonomy, runtime, checkpoints, validation, repair, and mission-specific model selection.
1066
+ - `subagents` — workflow phase policies, worker targets, activity indicator, parallelism preferences, and edit-concurrency guidance. These settings do not edit arbitrary sub-agent tool permissions.
1067
+ - `context` — compaction mode, custom compaction provider/model, proactive trigger percentage, check mode, cooldown, and fallback status.
1068
+ - `ui` — widgets, shortcuts, Workflow Suite theme selection, startup visuals, startup logo text styling, footer/status hints, and optional themed input borders.
1069
+ - `safety` — bash/tool guard settings.
1070
+
1071
+ Important Standard Mode settings:
1072
+
1073
+ | Setting | Effect |
1074
+ |---|---|
1075
+ | `standard.enabled` | Enables or disables Standard Mode entry. |
1076
+ | `standard.autoTodoEnabled` | Allows dynamic To Do initialization when `todoTriggerMode` permits it; Standard Auto Checks explain useful/already active/not needed/on request/required/disabled. |
1077
+ | `standard.todoTriggerMode` | To Do Trigger Mode: `off` Disabled, `manual` On request, `auto` Automatic when useful, or `required` Required. Required mode creates or requires active lightweight tracking before substantive Standard task work. |
1078
+ | `standard.todoProgressVisible` | Shows or hides the Standard To Do progress widget. |
1079
+ | `standard.clarificationEnabled` | Allows Standard Mode clarification; Standard Auto Checks explain ask/skip/disabled. |
1080
+ | `standard.clarificationMode` | `auto`, `always_for_nontrivial`, or `never` clarification guidance; legacy `minimal` maps to `auto`, and legacy `off` maps to `never`. |
1081
+ | `standard.maxClarificationQuestions` | Caps Standard Mode clarification questions. |
1082
+ | `standard.interactiveClarificationEnabled` | Enables interactive Standard clarification UX when supported. |
1083
+ | `standard.clarificationTiming` | Chooses `after_initial_analysis` or `immediate` Standard clarification timing. |
1084
+ | `standard.clarificationQualityGate` | Requires focused, task-specific Standard clarification questions. |
1085
+ | `standard.allowClarificationWithoutAnalysis` | Allows asking Standard clarification without prior analysis when enabled. |
1086
+ | `standard.useSubagentsBeforeClarification` | Allows configured Standard planning sub-agents before forced clarification. |
1087
+ | `standard.allowSubagents` | Enables or disables Standard Mode sub-agent orchestration. |
1088
+ | `standard.subagentScope` | Chooses package/user/project agent discovery scope: `user`, `project`, or `both`. |
1089
+ | `standard.subagents.*Policy` | Optional Standard-specific planning, execution, repair, review, and validation worker policies. |
1090
+ | `standard.subagents.min*Workers*` | Optional Standard-specific worker counts for deep, maximum, and forced policies. |
1091
+ | `standard.statusWidgetVisible` | Shows or hides the Standard status widget. |
1092
+ | `standard.modelRole` | Chooses the Standard primary model role: `current`, `planner`, `executor`, `reviewer`, or `validator`. |
1093
+ | `standard.useSharedExecutorModel` | Enables shared model selection for Standard Mode; `standard.modelRole=current` keeps the active Pi model. |
1094
+ | `standard.useStandardSpecificModels` | Uses `standard.models.*` for Standard Mode without mutating shared Plan/Mission model roles. |
1095
+ | `standard.models.*` | Optional Standard-specific planner, executor, reviewer, and validator routes. |
1096
+
1097
+ Example defaults shipped with the suite include Standard Mode enabled with configurable dynamic To Do/clarification controls, approval before execution, saved plan history, Mission Mode enabled with `approval_gated` autonomy, `full_auto` blocked unless explicitly allowed, per-milestone validation required, repair/retry safety gates enabled, Pi default compaction, sequential file writes by default, and widget visibility enabled. These defaults are starting points, not mandates.
1098
+
1099
+ Users can change the workflow shape. For example, a user may disable reviewer involvement for fast local work, use a stronger reviewer for corporate policy review, route executor to a tool-use/code-writing model, route validator to a separate high-reasoning model, or use mission-specific models for long-running work.
1100
+
1101
+ Use `/workflow settings Show Current Settings` or `/workflow-settings list` for the effective merged Workflow Suite configuration, and `/workflow-settings scope` to see the Workflow Suite write target. For Pi core settings versus Workflow Suite settings, run `./scripts/audit-settings.sh [target-cwd]`; it reports global/project paths and safe summaries without writing settings or printing secrets.
1102
+
1103
+ Workflow Suite settings are currently global/project scoped, not session-local. A global preset/theme/model change can affect every session using global settings; a project `.pi/workflow-settings.json` can affect sessions launched under that project. Use project overrides for per-project behavior today. A true session-local profile lock should be treated as a separate future runtime feature; see `docs/SESSION_PROFILES.md` for the design.
1104
+
1105
+ ## Verification
1106
+
1107
+ Local verification helpers:
1108
+
1109
+ ```bash
1110
+ ./scripts/verify-live.sh
1111
+ ./scripts/audit-live.sh
1112
+ ./scripts/audit-settings.sh [target-cwd]
1113
+ ./scripts/bootstrap-project.sh /path/to/project
1114
+ ```
1115
+
1116
+ Manual smoke checks:
1117
+
1118
+ ```text
1119
+ /workflow status
1120
+ /workflow settings Show Current Settings
1121
+ /workflow settings Theme
1122
+ /standard
1123
+ /p
1124
+ /mission help
1125
+ /workflow subagents list
1126
+ /workflow widgets list
1127
+ ```
1128
+
1129
+ `verify-live.sh` checks required local files and runs a basic Pi load check. It is not a full workflow test.
1130
+
1131
+ ## Troubleshooting
1132
+
1133
+ Common recovery commands:
1134
+
1135
+ ```text
1136
+ /workflow status
1137
+ /workflow settings Show Current Settings
1138
+ /workflow-settings scope
1139
+ /mission status
1140
+ /mission resume
1141
+ /workflow widgets list
1142
+ ```
1143
+
1144
+ If commands are missing, verify installation and restart/reload Pi. If the runtime is broken, restore from the timestamped backup created by `scripts/install-to-live.sh`.
1145
+
1146
+ See `docs/TROUBLESHOOTING.md` for detailed diagnostics.
1147
+
1148
+ ## Operational Notes
1149
+
1150
+ - 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.
1151
+ - Mission checkpoints are created at workflow gates and progress saves. The checkpoint interval setting records the preferred cadence for future timed checkpoint automation.
1152
+ - Watchdog status can report stale mission activity when enabled. Recovery remains user-supervised so Mission Mode does not resume or mutate work unexpectedly.
1153
+ - 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.
1154
+
1155
+ ## Versioning
1156
+
1157
+ The current public preview preparation version is `v0.0.1`. Version information is intentionally aligned across:
1158
+
1159
+ - `VERSION` (`v0.0.1`),
1160
+ - `package.json` (`0.0.1`),
1161
+ - `package-lock.json`,
1162
+ - this README,
1163
+ - Workflow Suite settings/about output.
1164
+
1165
+ The suite remains in early public preview versioning. Use `1.0.0` only when the install path, mode behavior, commands, settings, scripts, and packaging are ready to be treated as a public contract.
1166
+
1167
+ ## License, Trademarks, Security, Support, And Contributions
1168
+
1169
+ Pi Workflow Suite is licensed under the Apache License 2.0. See `LICENSE.md` and `NOTICE`.
1170
+
1171
+ Apache-2.0 licenses the code, not the MediaDataFusion names, Workflow Suite names, Pi Workflow Suite product identity, logos, or branding. See `TRADEMARKS.md`.
1172
+
1173
+ This project is not officially affiliated with, endorsed by, sponsored by, or maintained by Pi or any third-party platform unless explicitly stated in official project materials.
1174
+
1175
+ Security issues should not be reported through public issues, public pull requests, or public discussions. See `SECURITY.md`.
1176
+
1177
+ Pi Workflow Suite is maintainer-led and provided as-is. Feedback may be considered, but issues are not support tickets and no response or implementation timeline is promised. See `SUPPORT.md`.
1178
+
1179
+ Pull requests are not an open contribution channel. Discuss changes first or wait for an explicit maintainer invitation. See `CONTRIBUTING.md`.
1180
+
1181
+ Paid consulting through MediaDataFusion may be available separately for implementation, integration, or workflow design work.
1182
+
1183
+ ## Release Status
1184
+
1185
+ The intended package and repository identities are:
1186
+
1187
+ ```text
1188
+ @mediadatafusion/pi-workflow-suite
1189
+ https://github.com/MediaDataFusion/pi-workflow-suite
1190
+ ```
1191
+
1192
+ The current public preview preparation version is `v0.0.1`. The package will not be published until package contents, license, metadata, and release posture are approved.
1193
+
1194
+ Before publishing to npm, review package contents with:
1195
+
1196
+ ```bash
1197
+ npm pack --dry-run
1198
+ ```
1199
+
1200
+ Do not run `npm publish` until the release is explicitly approved.
1201
+
1202
+ ## Planned Enhancements
1203
+
1204
+ - Structured milestone import/export beyond the current parser-safe milestone headings.
1205
+ - Optional timed checkpoint scheduling.
1206
+ - User-supervised recovery helpers.
1207
+ - Agent-routed compaction after Custom agent mode is implemented.
1208
+ - Session-local workflow profiles if the Pi runtime supports them cleanly.