mustflow 2.18.7 → 2.18.21

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 (32) hide show
  1. package/README.md +4 -0
  2. package/dist/cli/commands/dashboard.js +68 -12
  3. package/dist/cli/commands/init.js +20 -20
  4. package/dist/cli/commands/run.js +1 -8
  5. package/dist/cli/commands/update.js +6 -11
  6. package/dist/cli/commands/verify.js +45 -15
  7. package/dist/cli/lib/dashboard-preferences.js +8 -6
  8. package/dist/cli/lib/filesystem.js +11 -1
  9. package/dist/cli/lib/git-changes.js +7 -1
  10. package/dist/cli/lib/local-index/index.js +31 -31
  11. package/dist/cli/lib/manifest-lock.js +38 -12
  12. package/dist/core/change-classification.js +24 -2
  13. package/dist/core/command-classification.js +0 -16
  14. package/dist/core/command-contract-rules.js +23 -3
  15. package/dist/core/run-write-drift.js +4 -0
  16. package/package.json +1 -1
  17. package/templates/default/i18n.toml +42 -6
  18. package/templates/default/locales/en/.mustflow/skills/INDEX.md +11 -5
  19. package/templates/default/locales/en/.mustflow/skills/cli-output-contract-review/SKILL.md +146 -0
  20. package/templates/default/locales/en/.mustflow/skills/command-contract-authoring/SKILL.md +121 -0
  21. package/templates/default/locales/en/.mustflow/skills/cross-platform-filesystem-safety/SKILL.md +137 -0
  22. package/templates/default/locales/en/.mustflow/skills/dependency-reality-check/SKILL.md +19 -6
  23. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +26 -10
  24. package/templates/default/locales/en/.mustflow/skills/llm-service-ux-review/SKILL.md +139 -0
  25. package/templates/default/locales/en/.mustflow/skills/process-execution-safety/SKILL.md +120 -0
  26. package/templates/default/locales/en/.mustflow/skills/routes.toml +38 -2
  27. package/templates/default/locales/en/.mustflow/skills/search-ad-content-authoring/SKILL.md +148 -0
  28. package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +46 -12
  29. package/templates/default/locales/en/.mustflow/skills/security-regression-tests/SKILL.md +43 -12
  30. package/templates/default/locales/en/.mustflow/skills/ui-quality-gate/SKILL.md +34 -14
  31. package/templates/default/manifest.toml +23 -1
  32. package/dist/cli/commands/run/builtin-dispatch.js +0 -92
@@ -0,0 +1,139 @@
1
+ ---
2
+ mustflow_doc: skill.llm-service-ux-review
3
+ locale: en
4
+ canonical: true
5
+ revision: 2
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: llm-service-ux-review
9
+ description: Apply this skill when designing, implementing, or reviewing conversational AI, chat, copilot, prompt, multimodal input, streaming generation, citation, feedback, or conversation-history UI.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.llm-service-ux-review
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - docs_validate_fast
19
+ - test_release
20
+ - mustflow_check
21
+ ---
22
+
23
+ # LLM Service UX Review
24
+
25
+ <!-- mustflow-section: purpose -->
26
+ ## Purpose
27
+
28
+ Keep LLM service interfaces clear, controllable, responsive, readable, and recoverable while making probabilistic AI limits visible enough for users to verify, correct, or reject output.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## Use When
32
+
33
+ - A change touches chat, assistant, copilot, prompt composer, prompt template, model picker, file or image upload, multimodal input, streaming response, generation progress, citation, feedback, copy, export, history, or new-conversation UI.
34
+ - A task asks whether an LLM product feels clear, controllable, trustworthy, fast, readable, or easy to recover from mistakes.
35
+ - A report claims that a model response UI streams correctly, explains progress, shows sources, supports cancellation, preserves context, or lets users reuse output.
36
+ - A product surface exposes model uncertainty, retrieval, tool use, generated code, generated documents, safety refusals, or long-running reasoning states to users.
37
+ - A surface could create automation bias, over-trust, fragmented AI entrypoints, layout instability during streaming, or unclear ownership between user judgment and model output.
38
+
39
+ <!-- mustflow-section: do-not-use-when -->
40
+ ## Do Not Use When
41
+
42
+ - The task changes a non-AI UI surface with no prompt, generation, model, citation, or conversation behavior; use `ui-quality-gate`.
43
+ - The task changes only backend model orchestration, prompts, retrieval, or tool calls with no user-facing state; use the narrower backend, security, data, or test skill that matches the changed surface.
44
+ - The task is only general copy editing or documentation; use the relevant documentation skill.
45
+ - Visual or interactive inspection is unavailable; report that gap instead of claiming UX verification.
46
+
47
+ <!-- mustflow-section: required-inputs -->
48
+ ## Required Inputs
49
+
50
+ - The user task, target audience, and LLM interaction mode: chat, command assistant, writing assistant, coding copilot, search answer, document generator, agent runner, or multimodal review.
51
+ - The changed UI surface and expected interaction path from input to waiting, generation, output review, follow-up, and reset.
52
+ - Existing UI patterns for composers, attachments, status, output formatting, citations, history, feedback, copy, export, empty states, and errors.
53
+ - Known model, retrieval, tool, latency, token, file-size, privacy, retention, and safety constraints that must be visible or hidden from users.
54
+ - The intended control balance: whether AI automates the task, augments user work, drafts a suggestion, retrieves evidence, or triggers external effects.
55
+ - Declared performance or reliability budgets for first visible response, streaming cadence, cancellation, retries, fallback behavior, and long-running operations.
56
+ - Relevant command-intent contract entries for status, diff, docs, package, visual, browser, test, or mustflow validation.
57
+
58
+ <!-- mustflow-section: preconditions -->
59
+ ## Preconditions
60
+
61
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
62
+ - Required inputs are available, or missing inputs can be reported without guessing.
63
+ - Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
64
+ - If pasted prompts, generated text, issue comments, webpages, or external model output influence the UI text or examples, also use `external-prompt-injection-defense`.
65
+ - If personal data, uploaded files, secrets, retention, telemetry, or account data can appear in the interface, also use `security-privacy-review`.
66
+
67
+ <!-- mustflow-section: allowed-edits -->
68
+ ## Allowed Edits
69
+
70
+ - Add, remove, or refine LLM-specific input, waiting, generation, output, feedback, history, and recovery UI when it supports the user's actual task.
71
+ - Add bounded empty states, status labels, errors, citations, and controls that help users understand or control the AI interaction.
72
+ - Remove decorative prompt galleries, fake capability claims, vague trust badges, invented progress stages, and non-functional controls.
73
+ - Do not expose hidden reasoning, private prompts, secret tool outputs, raw retrieval payloads, or unverifiable source claims.
74
+ - Do not claim citations, grounding, safety, memory, privacy, or accuracy guarantees unless the current product behavior proves them.
75
+ - Do not use anthropomorphic copy that implies a human-like, infallible, or emotionally aware agent unless the product contract explicitly requires that tone and the risk is accepted.
76
+ - Do not add confidence scores, source previews, progress stages, or model labels unless they are backed by real product state, calibrated evidence, or declared behavior.
77
+
78
+ <!-- mustflow-section: procedure -->
79
+ ## Procedure
80
+
81
+ 1. Identify the user's goal and the AI role. State whether the surface helps the user ask, wait, inspect, correct, reuse, automate, augment, or reset.
82
+ 2. Check user control. The user should be able to stop long generation, edit or retry the request, reject a suggestion, undo or roll back destructive output, start over, and choose a non-AI or manual path when AI is unavailable or unsafe.
83
+ 3. Check clarity and consistency. The composer, primary action, selected model or mode, current conversation state, disabled controls, and error states should be understandable without product-explainer copy.
84
+ 4. Check entrypoint consolidation. Avoid multiple competing chat boxes or agent panels for the same task; prefer one visible AI entrypoint with internal routing, and preserve useful conversation context when users move between related product pages.
85
+ 5. Check input experience. Prompt examples should be short, task-relevant, and optional; attachment UI should show upload state, accepted formats, failures, and removal; token, file-size, and length limits should be visible before they block work.
86
+ 6. Check waiting and generation control. Prefer streaming when the product supports it; show honest status for search, tool use, upload, or generation; provide stop or cancel when generation can run long; avoid fake chain-of-thought or invented internal stages.
87
+ 7. Check streaming rendering. Incomplete Markdown, code fences, tables, links, and rich blocks should not cause layout jumps or broken formatting; auto-scroll should pause when the user scrolls, selects text, or interacts with earlier output.
88
+ 8. Check output readability. Use structured text, code blocks, tables, headings, or summaries only when they fit the answer type; long output needs scanning, copy, and overflow behavior; generated code or data should preserve formatting.
89
+ 9. Check evidence and citations. Clickable citations should appear only for sources actually used or retrieved; distinguish model output from source evidence; prefer exact passage links or previews when the product has real snippets; show unavailable, stale, or partial-source states plainly.
90
+ 10. Check uncertainty and automation bias. Avoid language that makes probabilistic output sound guaranteed; expose limitations, confidence, retrieval coverage, or verification needs only when backed by real state; keep important decisions under user review.
91
+ 11. Check correction and reuse. Users should be able to retry, edit the prompt, continue, fork from an earlier point, copy, export, provide feedback, or start a new conversation without losing context accidentally.
92
+ 12. Check history and reset. Conversation history, current thread, summarized context, and new-chat behavior should be clearly separated; destructive clearing or context reset should be deliberate and recoverable where possible.
93
+ 13. Check latency and cost controls. Use declared budgets when they exist; avoid resending unnecessary history; prefer summarized context, caching, parallel retrieval, or staged loading only when the implementation actually supports them.
94
+ 14. Check error prevention and recovery. Safety refusals, tool failures, retrieval misses, rate limits, unsupported files, token overflow, and network errors should name the problem and the next useful action.
95
+ 15. Check accessibility and responsiveness. Keyboard flow, focus return after generation, busy states, reduced motion, screen-reader status updates, mobile composer layout, attachment chips, and long translated labels should not block the task.
96
+ 16. Check trust, privacy, and retention boundaries. Do not imply long-term memory, private processing, deletion, or citation certainty unless the product actually provides it. Prefer concise state labels over broad disclaimers.
97
+ 17. Run the narrowest configured verification that covers changed UI, docs, package, or mustflow contracts, and report any visual or interactive checks that could not be performed.
98
+
99
+ <!-- mustflow-section: postconditions -->
100
+ ## Postconditions
101
+
102
+ - The interface lets users control the LLM interaction across input, waiting, generation, output review, correction, reuse, history, and reset.
103
+ - LLM-specific latency, uncertainty, source, failure, privacy, and recovery states are visible where needed and not overstated.
104
+ - Probabilistic output, automation boundaries, fallback paths, and evidence gaps are visible enough for users to make their own judgment.
105
+ - Decorative or explanatory UI has not replaced task-focused controls and real state.
106
+ - Final reports separate implemented behavior from unverified UX, citation, privacy, or visual claims.
107
+
108
+ <!-- mustflow-section: verification -->
109
+ ## Verification
110
+
111
+ Use configured oneshot command intents when available:
112
+
113
+ - `changes_status`
114
+ - `changes_diff_summary`
115
+ - `docs_validate_fast`
116
+ - `test_release`
117
+ - `mustflow_check`
118
+
119
+ Use a narrower configured UI, browser, screenshot, accessibility, build, or test intent when it better proves the changed LLM service surface.
120
+
121
+ <!-- mustflow-section: failure-handling -->
122
+ ## Failure Handling
123
+
124
+ - If model behavior, retrieval, citations, memory, retention, or tool stages cannot be verified, avoid promising them and report the gap.
125
+ - If streaming or cancellation is unavailable, keep status honest and report the missing control instead of simulating it in the UI.
126
+ - If output can contain unsafe, private, or fabricated content, route the relevant surface through security, privacy, or evidence checks before polishing the interface.
127
+ - If visual inspection requires an undeclared development server, watcher, or browser command, stop at that boundary and report the skipped check.
128
+ - If the requested UI conflicts with repository UI minimalism rules, keep the smallest task-focused control and explain the omitted decorative or tutorial content.
129
+
130
+ <!-- mustflow-section: output-format -->
131
+ ## Output Format
132
+
133
+ - LLM service surface reviewed
134
+ - Input, waiting, generation, streaming, output, feedback, history, and reset states checked
135
+ - Control, uncertainty, citation, fallback, privacy, error, accessibility, and responsiveness findings
136
+ - Decorative, fake, or unverifiable UI avoided or removed
137
+ - Command intents run
138
+ - Skipped visual or interactive checks and reasons
139
+ - Remaining LLM UX risk
@@ -0,0 +1,120 @@
1
+ ---
2
+ mustflow_doc: skill.process-execution-safety
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: process-execution-safety
9
+ description: Apply this skill when spawning, wrapping, previewing, timing out, terminating, buffering, streaming, or reporting child processes, built-in command reruns, shell commands, argv commands, environment variables, output limits, process trees, or long-running command patterns.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.process-execution-safety
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - test_related
19
+ - test_release
20
+ - mustflow_check
21
+ ---
22
+
23
+ # Process Execution Safety
24
+
25
+ <!-- mustflow-section: purpose -->
26
+ ## Purpose
27
+
28
+ Ensure process execution obeys declared command contracts, terminates reliably, bounds output and environment exposure, and does not treat a kill attempt as a verified process exit.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## Use When
32
+
33
+ - Code spawns, wraps, previews, streams, buffers, times out, kills, reruns, or reports a child process or in-process built-in command.
34
+ - A command path handles shell mode, argv mode, process groups, Windows task termination, POSIX signals, output limits, stdin, environment variables, or working directories.
35
+ - Long-running, background, watcher, server, browser, daemon, shell wrapper, package-manager, or project-local executable patterns are allowed, blocked, or classified.
36
+ - Receipts, logs, verification, write tracking, or final reports depend on whether a command actually finished.
37
+
38
+ <!-- mustflow-section: do-not-use-when -->
39
+ ## Do Not Use When
40
+
41
+ - The task only changes a command contract entry and not process execution code; use `command-contract-authoring`.
42
+ - The task only changes filesystem writes after a process exits; use `cross-platform-filesystem-safety` if path safety is the main risk.
43
+ - The task only changes CLI output wording; use `cli-output-contract-review`.
44
+
45
+ <!-- mustflow-section: required-inputs -->
46
+ ## Required Inputs
47
+
48
+ - The execution path: shell, argv, built-in rerun, preview, dry run, JSON mode, streaming mode, or configured command intent.
49
+ - Timeout, grace period, force-kill behavior, output limit, stdin policy, environment policy, working directory, process tree behavior, and receipt or write-tracking expectations.
50
+ - Platform boundary for Windows and POSIX process termination.
51
+ - Existing tests for timeout, output overflow, environment redaction, local executable avoidance, command eligibility, and receipt status.
52
+ - Relevant command-intent entries for related tests, release checks, and mustflow validation.
53
+
54
+ <!-- mustflow-section: preconditions -->
55
+ ## Preconditions
56
+
57
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
58
+ - `.mustflow/config/commands.toml` has been checked for configured verification intents.
59
+ - Process execution changes are treated as security, data-consistency, and verification-integrity risk, not just runtime plumbing.
60
+
61
+ <!-- mustflow-section: allowed-edits -->
62
+ ## Allowed Edits
63
+
64
+ - Update process execution code, process-tree helpers, output buffers, environment creation, receipts, eligibility checks, tests, and directly synchronized docs.
65
+ - Prefer one execution path for JSON and human modes when output format alone should differ.
66
+ - Do not bypass timeouts, output limits, working-directory checks, environment policy, or receipt generation for convenience.
67
+ - Do not run unconfigured servers, watchers, background tasks, or interactive commands.
68
+
69
+ <!-- mustflow-section: procedure -->
70
+ ## Procedure
71
+
72
+ 1. Map the execution path from command contract to child process, output handling, receipt writing, write tracking, and final status.
73
+ 2. Confirm that shell and argv modes enforce the same safety boundary where they represent the same command intent.
74
+ 3. Check timeout semantics. A timeout should initiate termination, wait through the declared grace behavior when possible, attempt force termination when needed, and record whether cleanup was confirmed or still uncertain.
75
+ 4. Check output limit semantics. Output overflow should be distinct from process start failure, apply consistently across output modes, preserve bounded tails, and avoid unbounded memory growth.
76
+ 5. Check process-tree cleanup. On POSIX, account for process groups and signals. On Windows, account for task termination behavior and the fact that process-group semantics differ.
77
+ 6. Check in-process shortcuts. Built-in commands should not bypass timeout, output, environment, working-directory, or receipt policy unless the command contract explicitly accepts the weaker boundary.
78
+ 7. Check environment exposure. Minimal or allowlisted environments should be the default for agent-runnable commands, with redaction only as a logging safeguard, not as execution isolation.
79
+ 8. Check command eligibility before execution. Long-running and shell-wrapper patterns should be blocked or made manual-only before relying on timeout as the only defense.
80
+ 9. Check write tracking and receipts. Do not finalize a receipt or write-drift snapshot as complete while a child process may still be writing, unless the receipt states cleanup is unconfirmed.
81
+ 10. Add focused tests for timeout, output limit, environment, built-in rerun, local executable avoidance, and platform-neutral status semantics as justified by the change.
82
+
83
+ <!-- mustflow-section: postconditions -->
84
+ ## Postconditions
85
+
86
+ - Execution status, timeout status, output status, cleanup status, receipt status, and write tracking tell the same story.
87
+ - JSON and human modes differ only in presentation unless a documented contract says otherwise.
88
+ - Any unconfirmed cleanup or platform limitation is explicit in the report.
89
+
90
+ <!-- mustflow-section: verification -->
91
+ ## Verification
92
+
93
+ Use configured oneshot command intents when available:
94
+
95
+ - `changes_status`
96
+ - `changes_diff_summary`
97
+ - `test_related`
98
+ - `test_release`
99
+ - `mustflow_check`
100
+
101
+ Escalate to broader configured tests when execution behavior crosses many command surfaces.
102
+
103
+ <!-- mustflow-section: failure-handling -->
104
+ ## Failure Handling
105
+
106
+ - If a timed-out or output-limited process cannot be confirmed terminated, record the uncertainty and do not claim full cleanup.
107
+ - If environment isolation cannot be applied to a path, fail closed or route through a spawned process that can honor the contract.
108
+ - If a platform-specific termination test is not available, report the skipped platform check and cover the shared status contract.
109
+ - If a process safety fix conflicts with convenience or performance, preserve safety and report the tradeoff.
110
+
111
+ <!-- mustflow-section: output-format -->
112
+ ## Output Format
113
+
114
+ - Process execution surface reviewed
115
+ - Timeout, force-kill, output-limit, environment, stdin, cwd, and process-tree boundaries
116
+ - Receipt, write-tracking, and cleanup-confirmation behavior
117
+ - Shell, argv, JSON, streaming, and built-in path consistency
118
+ - Tests or fixtures added or reused
119
+ - Command intents run
120
+ - Remaining process execution risk
@@ -42,6 +42,18 @@ route_type = "primary"
42
42
  priority = 80
43
43
  applies_to_reasons = ["code_change", "behavior_change"]
44
44
 
45
+ [routes."command-contract-authoring"]
46
+ category = "workflow_contracts"
47
+ route_type = "authoring"
48
+ priority = 80
49
+ applies_to_reasons = ["mustflow_config_change", "mustflow_docs_change"]
50
+
51
+ [routes."cli-output-contract-review"]
52
+ category = "workflow_contracts"
53
+ route_type = "adjunct"
54
+ priority = 65
55
+ applies_to_reasons = ["public_api_change", "behavior_change", "docs_change"]
56
+
45
57
  [routes."facade-pattern"]
46
58
  category = "architecture_patterns"
47
59
  route_type = "primary"
@@ -108,6 +120,12 @@ route_type = "adjunct"
108
120
  priority = 75
109
121
  applies_to_reasons = ["docs_change"]
110
122
 
123
+ [routes."llm-service-ux-review"]
124
+ category = "ui_assets"
125
+ route_type = "primary"
126
+ priority = 65
127
+ applies_to_reasons = ["ui_change", "product_change"]
128
+
111
129
  [routes."diff-risk-review"]
112
130
  category = "general_code"
113
131
  route_type = "adjunct"
@@ -136,7 +154,13 @@ applies_to_reasons = ["code_change", "behavior_change"]
136
154
  category = "data_external"
137
155
  route_type = "adjunct"
138
156
  priority = 45
139
- applies_to_reasons = ["code_change", "docs_change"]
157
+ applies_to_reasons = ["code_change", "docs_change", "security_change"]
158
+
159
+ [routes."cross-platform-filesystem-safety"]
160
+ category = "data_external"
161
+ route_type = "adjunct"
162
+ priority = 65
163
+ applies_to_reasons = ["code_change", "security_change", "migration_change"]
140
164
 
141
165
  [routes."adapter-boundary"]
142
166
  category = "data_external"
@@ -144,6 +168,12 @@ route_type = "primary"
144
168
  priority = 55
145
169
  applies_to_reasons = ["code_change", "behavior_change"]
146
170
 
171
+ [routes."process-execution-safety"]
172
+ category = "data_external"
173
+ route_type = "primary"
174
+ priority = 70
175
+ applies_to_reasons = ["code_change", "behavior_change", "security_change"]
176
+
147
177
  [routes."dependency-injection"]
148
178
  category = "data_external"
149
179
  route_type = "primary"
@@ -202,7 +232,7 @@ applies_to_reasons = ["command_failure"]
202
232
  category = "security_privacy"
203
233
  route_type = "adjunct"
204
234
  priority = 40
205
- applies_to_reasons = ["docs_change", "security_change"]
235
+ applies_to_reasons = ["docs_change", "security_change", "mustflow_config_change"]
206
236
 
207
237
  [routes."external-skill-intake"]
208
238
  category = "workflow_contracts"
@@ -276,6 +306,12 @@ route_type = "primary"
276
306
  priority = 55
277
307
  applies_to_reasons = ["release_risk", "docs_change"]
278
308
 
309
+ [routes."search-ad-content-authoring"]
310
+ category = "docs_release"
311
+ route_type = "primary"
312
+ priority = 60
313
+ applies_to_reasons = ["docs_change", "copy_change", "product_change"]
314
+
279
315
  [routes."docs-prose-review"]
280
316
  category = "docs_release"
281
317
  route_type = "adjunct"
@@ -0,0 +1,148 @@
1
+ ---
2
+ mustflow_doc: skill.search-ad-content-authoring
3
+ locale: en
4
+ canonical: true
5
+ revision: 3
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: search-ad-content-authoring
9
+ description: Apply this skill when planning, writing, editing, or reviewing search-friendly, ad-supported articles, blog posts, guides, reviews, comparisons, FAQs, or evergreen content.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.search-ad-content-authoring
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - docs_validate_fast
19
+ - test_release
20
+ - mustflow_check
21
+ ---
22
+
23
+ # Search Ad Content Authoring
24
+
25
+ <!-- mustflow-section: purpose -->
26
+ ## Purpose
27
+
28
+ Create useful, readable, search-oriented content that can support advertising layouts without keyword stuffing, thin-content filler, misleading ad placement, or unverifiable ranking and revenue claims.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## Use When
32
+
33
+ - A task asks for a blog post, article, guide, comparison, review, cost breakdown, how-to page, FAQ, glossary entry, or evergreen content intended for search traffic.
34
+ - A task mentions search visibility, SEO, featured snippets, Google traffic, AdSense, Ezoic, Raptive, Mediavine, RPM, ad viewability, affiliate content, or monetized content layout.
35
+ - A content draft needs paragraph structure, heading hierarchy, table or list placement, FAQ coverage, source use, image placement, internal links, or ad slot layout review.
36
+ - A report claims that an article is search-friendly, mobile-readable, ad-friendly, snippet-ready, or aligned with a publisher monetization strategy.
37
+
38
+ <!-- mustflow-section: do-not-use-when -->
39
+ ## Do Not Use When
40
+
41
+ - The task is only product UI copy, release notes, README writing, legal policy text, or technical docs with no search or monetization goal; use the narrower writing or documentation skill.
42
+ - The task asks to manipulate rankings, hide ads, mislead readers, copy competitor content, generate doorway pages, or maximize ads at the expense of user value.
43
+ - Current Google, ad-network, legal, or policy claims are required but cannot be checked; use `source-freshness-check` and keep claims conservative.
44
+ - The task only changes ad scripts, consent management, performance code, or analytics implementation without article content; use the relevant frontend, privacy, performance, or dependency skill.
45
+
46
+ <!-- mustflow-section: required-inputs -->
47
+ ## Required Inputs
48
+
49
+ - Target reader, search intent, article topic, jurisdiction or market if relevant, and the action the reader should be able to complete after reading.
50
+ - Content type: definition, how-to, troubleshooting, comparison, cost guide, review, alternatives, checklist, buying guide, FAQ, or news-style update.
51
+ - Known source requirements, freshness needs, original experience, product data, pricing, images, tables, calculators, affiliate disclosures, and monetization constraints.
52
+ - Existing content style, heading conventions, article-type defaults, link policy, image policy, accessibility rules, ad layout rules, and performance constraints.
53
+ - Title, introduction, conclusion, call-to-action, semantic markup, ad slot, and link constraints when the content will be rendered as a webpage.
54
+ - Publishing metadata requirements such as title, summary, search tags, author, published date, updated date, canonical URL, and structured data when the site supports them.
55
+ - Relevant command-intent contract entries for status, diff, docs, package, visual, or mustflow validation.
56
+
57
+ <!-- mustflow-section: preconditions -->
58
+ ## Preconditions
59
+
60
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
61
+ - Required inputs are available, or missing inputs can be reported without guessing.
62
+ - Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
63
+ - If the article depends on current facts, prices, policy behavior, product availability, laws, medical, legal, financial, or safety-sensitive claims, also use `source-freshness-check`.
64
+ - If the content includes personal data, user submissions, health, finance, legal, minors, consent, tracking, affiliate disclosure, or ad personalization concerns, also use `security-privacy-review`.
65
+
66
+ <!-- mustflow-section: allowed-edits -->
67
+ ## Allowed Edits
68
+
69
+ - Add or revise outlines, headings, paragraphs, lists, tables, FAQs, summaries, source notes, image captions, internal links, and disclosure wording that improve reader value.
70
+ - Adjust paragraph breaks, section order, table placement, media placement, and ad-slot separation to support mobile readability and stable ad layout.
71
+ - Add semantic content-structure guardrails for titles, introductions, conclusions, calls to action, paragraphs, headings, image blocks, and ad-slot separation.
72
+ - Add conservative content-quality guardrails that prevent thin filler, keyword stuffing, misleading ad adjacency, invented sources, or unsupported ranking claims.
73
+ - Do not promise search rankings, featured snippets, approval by a specific ad network, RPM improvement, or ad-policy compliance unless verified against current authoritative sources.
74
+ - Do not treat exact word counts, heading counts, paragraph counts, keyword positions, or FAQ counts as universal ranking formulas; use them only as project-specific editorial defaults.
75
+ - Do not pad content solely to create more ad slots, add unrelated FAQs, or place ads where they can be mistaken for navigation, images, controls, or editorial recommendations.
76
+ - Do not recommend delaying the reader's primary answer, using uncloseable or deceptive sticky ads, or adding visual spacers, widgets, or media solely to inflate scroll depth.
77
+
78
+ <!-- mustflow-section: procedure -->
79
+ ## Procedure
80
+
81
+ 1. Classify the search intent. Decide whether the reader needs a quick definition, step-by-step fix, comparison, price range, recommendation, troubleshooting path, or deeper research.
82
+ 2. Check volatile monetization claims. RPM formulas, network thresholds, revenue estimates, ad-refresh behavior, traffic eligibility, and current policy rules must be sourced and dated or omitted.
83
+ 3. Shape the title, summary, and introduction around the query. Use the target phrase naturally in the title or opening when it helps clarity, then open with the direct answer, reader problem, promised outcome, and any real evidence or experience without generic throat-clearing.
84
+ 4. Build the outline around reader decisions. Use H2 and H3 sections that match real subquestions, not keyword variants created only for search coverage.
85
+ 5. Apply site-specific editorial defaults when they exist. Article-type defaults for section count, paragraph count, or paragraph length can guide editing, but they are not ranking promises and should not override completeness.
86
+ 6. Keep paragraphs mobile-readable. Prefer one to three focused sentences per paragraph, but do not split a technical idea so aggressively that meaning becomes fragmented.
87
+ 7. Use semantic content structure. Real paragraphs, headings, figures, images, captions, lists, and tables should carry the structure; avoid stacked line breaks or meaningless wrapper markup when authoring rendered article templates.
88
+ 8. Use structured elements only when they help. Tables should compare real attributes; lists should sequence actions or options; pull summaries should reduce scanning cost.
89
+ 9. Add evidence and experience. Include first-hand observations, examples, screenshots, data, source links, or methodology when available. For data-heavy claims, use the pattern: number or claim, interpretation, then limitation.
90
+ 10. Handle freshness. Dates, prices, policy behavior, product availability, screenshots, benchmarks, and network rules need a source date or conservative wording.
91
+ 11. Design ad-friendly layout without harming trust. Keep content readable around ad slots, reserve layout space where applicable, separate ads from images and controls, avoid deceptive placement, and never make ads look like menus, downloads, recommendations, or content actions.
92
+ 12. Protect performance and accessibility. Use meaningful alt text, captions when useful, explicit image dimensions, lazy loading after critical content where appropriate, and avoid layout shifts.
93
+ 13. Add internal and external navigation thoughtfully. Use a table of contents, jump links, related articles, internal links, or authoritative external source links only when they help readers verify, choose, or continue.
94
+ 14. Add FAQs only for genuine follow-up questions. Three to five concise FAQs are often enough; avoid duplicated headings, fabricated long-tail questions, or answers that repeat the body.
95
+ 15. Check publishing metadata and machine-readable article signals when the platform supports them. Keep title, summary, tags, author, dates, canonical URL, images, and structured data aligned with the article body.
96
+ 16. Check monetization-sensitive ethics. Include affiliate or sponsorship disclosure when relevant, avoid exaggerated claims, keep editorial recommendations distinct from ads, and do not hide the core answer or resource at the bottom solely to force more scrolling.
97
+ 17. Close with a clean conclusion. Summarize the decision or next step, include a useful call to action when appropriate, and do not introduce new claims in the conclusion.
98
+ 18. Check final shape. The article should have a direct answer, useful body sections, structured support, source or experience signals, clear next steps, and no filler written only for algorithms or ad inventory.
99
+ 19. Run the narrowest configured verification that covers changed content, docs, template, package, or mustflow contracts.
100
+
101
+ <!-- mustflow-section: postconditions -->
102
+ ## Postconditions
103
+
104
+ - The content serves the reader's search intent before optimizing for ad viewability or page length.
105
+ - Paragraphs, headings, tables, lists, FAQs, images, links, and disclosures are purposeful and not filler.
106
+ - The rendered article structure uses semantic blocks and avoids deceptive scroll-depth tactics.
107
+ - Article length, section counts, paragraph counts, and keyword placement follow local editorial defaults when available, not universal SEO myths.
108
+ - Publishing metadata and structured article signals match the visible content when the platform supports them.
109
+ - Advertising layout considerations are separated from editorial claims and do not create deceptive or unstable UI.
110
+ - Ranking, network approval, revenue, or policy-compliance claims are either verified, dated, or omitted.
111
+ - Final reports separate content improvements from unverified search, ad-network, or revenue expectations.
112
+
113
+ <!-- mustflow-section: verification -->
114
+ ## Verification
115
+
116
+ Use configured oneshot command intents when available:
117
+
118
+ - `changes_status`
119
+ - `changes_diff_summary`
120
+ - `docs_validate_fast`
121
+ - `test_release`
122
+ - `mustflow_check`
123
+
124
+ Use a narrower configured prose, docs, link, accessibility, performance, visual, or package check when it better proves the changed content surface.
125
+
126
+ <!-- mustflow-section: failure-handling -->
127
+ ## Failure Handling
128
+
129
+ - If source freshness cannot be checked, remove or soften claims about current rankings, ad-network rules, prices, dates, or policy behavior.
130
+ - If the draft becomes keyword-stuffed, repetitive, or ad-slot filler, shorten it and restore reader-first structure.
131
+ - If exact length, section, paragraph, or keyword-count advice conflicts with reader intent or local style, treat the number as an editorial suggestion and report the tradeoff.
132
+ - If a source recommends intrusive, uncloseable, deceptive, or artificially delayed monetization patterns, keep only the user-respecting layout principle and reject the tactic.
133
+ - If ad placement conflicts with readability, accessibility, privacy, consent, or performance constraints, prioritize user trust and report the monetization tradeoff.
134
+ - If the topic is regulated or high stakes, avoid generic advice and require authoritative sources, qualified review, or a narrower scope.
135
+ - If verification requires external policy pages, analytics, ad-console access, or live browser inspection not available in the current environment, report the skipped check.
136
+
137
+ <!-- mustflow-section: output-format -->
138
+ ## Output Format
139
+
140
+ - Search and reader intent
141
+ - Article type and outline shape
142
+ - Title, summary, introduction, paragraph, heading, semantic markup, table, list, FAQ, image, link, metadata, structured data, conclusion, call-to-action, and disclosure checks
143
+ - Source freshness and evidence notes
144
+ - Ad layout, readability, performance, accessibility, and trust checks
145
+ - Ranking, policy, revenue, or network claims omitted or verified
146
+ - Command intents run
147
+ - Skipped checks and reasons
148
+ - Remaining content or monetization risk
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.security-privacy-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 4
5
+ revision: 7
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: security-privacy-review
9
- description: Apply this skill when code, configuration, docs, templates, logs, telemetry, credentials, or data flows affect secrets, personal data, authentication, authorization, retention, or external disclosure.
9
+ description: Apply this skill when code, configuration, docs, templates, logs, telemetry, credentials, data flows, AI-generated code, authentication, authorization, network calls, dependencies, cryptography, secure transport, agent configuration, or release surfaces affect secrets, personal data, retention, or external disclosure.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -31,7 +31,14 @@ Catch security, privacy, and disclosure risks introduced by ordinary code, docum
31
31
  ## Use When
32
32
 
33
33
  - A change touches authentication, authorization, sessions, admin behavior, tenant boundaries, personal data, secrets, tokens, credentials, API keys, or private files.
34
+ - A change comes from AI-generated code, vibe-coded output, copied examples, or a broad assistant patch that may have optimized for the happy path without proving abuse boundaries.
34
35
  - A change adds or modifies logging, telemetry, diagnostics, receipts, reports, caches, generated state, retention, redaction, export, or external transmission.
36
+ - A change adds external URL fetching, webhook callbacks, redirects, browser previews, remote downloads, database-as-a-service rules, security headers, CORS, CSRF handling, or rate limits.
37
+ - A change touches cookies, JWTs, reset tokens, invite tokens, OAuth callbacks, file upload or download, browser storage, business rules, pricing, entitlements, database queries, ORM bulk operations, or deployment configuration.
38
+ - A change touches cryptography, password hashing, token generation, random number generation, TLS/HTTPS, certificate validation, scanner gates, or a security invariant that could drift across architecture boundaries.
39
+ - A change adds, imports, recommends, or installs third-party dependencies that may affect the software supply chain.
40
+ - A change introduces or edits agent configuration, MCP/tool configuration, prompt files, model instructions, or repository-local rule files.
41
+ - A change affects CI/CD workflow permissions, fork pull-request handling, build scripts, package lifecycle scripts, deployment secrets, container users, storage buckets, debug flags, or public admin, metrics, GraphQL, cache, or search endpoints.
35
42
  - Documentation, templates, examples, tests, or final reports mention sensitive data handling, privacy behavior, secret handling, or user-identifying data.
36
43
  - A diff could expose data through filenames, paths, command output, screenshots, generated artifacts, package contents, or public docs.
37
44
  - A change constructs, recommends, copies, resolves, or runs commands based on repository-controlled names, configuration, or generated reports.
@@ -51,6 +58,9 @@ Catch security, privacy, and disclosure risks introduced by ordinary code, docum
51
58
 
52
59
  - Changed files, diff summary, and the user goal.
53
60
  - Sensitive data, actor, trust boundary, storage, logging, retention, export, or external disclosure surfaces involved.
61
+ - Actor, resource owner, tenant boundary, server-side authorization rule, state-changing route, external network target, dependency source, and agent/tool permission surface involved.
62
+ - Cookie, JWT, OAuth, file upload, file download, business-value, database mutation, ORM bulk operation, CI/CD permission, deployment setting, or secret-source surface involved.
63
+ - Cryptographic primitive, password hashing, random-token, secure transport, certificate validation, scanner gate, or security invariant involved.
54
64
  - Existing project rules for secrets, privacy, generated state, public docs, package contents, and command output.
55
65
  - Relevant command-intent contract entries for status, diff, docs, release, or mustflow validation.
56
66
  - Any repository-controlled names, paths, symlinks, command strings, environment path entries, workflow actions, or package contents that cross a trust boundary.
@@ -70,6 +80,7 @@ Catch security, privacy, and disclosure risks introduced by ordinary code, docum
70
80
  - Remove sensitive-looking sample values from docs, fixtures, templates, logs, reports, and final output when they are not required.
71
81
  - Mark unknown privacy or secret-handling behavior as unverified instead of claiming it is safe.
72
82
  - Do not invent compliance claims, privacy guarantees, secret scanning results, or audit coverage.
83
+ - Do not treat a working UI, passing happy-path test, or generated assistant explanation as proof that authorization, privacy, dependency, or external-request boundaries are safe.
73
84
 
74
85
  <!-- mustflow-section: procedure -->
75
86
  ## Procedure
@@ -77,21 +88,41 @@ Catch security, privacy, and disclosure risks introduced by ordinary code, docum
77
88
  1. Identify the sensitive surface: secret, personal data, actor, permission, storage location, log, generated artifact, package file, public document, or external recipient.
78
89
  2. Decide whether the change creates, stores, reads, transforms, logs, exports, deletes, or reports sensitive information.
79
90
  3. Check whether the changed surface is public, packaged, generated, cached, retained, user-visible, or sent outside the repository boundary.
80
- 4. Treat shell commands, copyable command text, executable names, workflow action references, publish identities, package manifests, and environment path entries as disclosure and execution surfaces, not as harmless strings.
81
- 5. For filesystem changes, distinguish lexical containment from the real target. Check symlinks, generated state, package contents, and file APIs that may follow links before claiming a path stays inside the repository.
82
- 6. For code-scanning alerts, group findings by root cause and rule. Fix the underlying pattern, not only the exact flagged line, and separate repository-setting alerts such as branch protection or maintainer activity from code changes.
83
- 7. For workflow scanner alerts, check action pinning, `persist-credentials`, job-level permissions, reusable workflow permissions, artifact upload boundaries, and privileged identity timing before treating the warning as cosmetic.
84
- 8. For pinned action references, distinguish tag objects from the commit that implements the tag. Verify pinned SHAs against the action repository so scanner tooling does not report an imposter or non-member commit.
85
- 9. For dependency scanner alerts, separate production dependency manifests from fixtures, examples, generated test repositories, and intentionally vulnerable samples. Narrow the scan scope before treating fixture-only alerts as product vulnerabilities.
86
- 10. Verify that examples, fixtures, screenshots, command outputs, and final reports do not expose real-looking secrets or unnecessary personal data.
87
- 11. Prefer omission or minimal metadata over masking when the sensitive value is not needed for the user to understand the result.
88
- 12. If the change affects an authorization or abuse boundary, activate `security-regression-tests` for test selection instead of folding test generation into this review.
89
- 13. Run the narrowest configured verification that covers the changed docs, templates, package, or mustflow contract.
91
+ 4. Treat AI-generated code as untrusted until the protected resource, actor, ownership rule, and denied case are inspected. UI-only hiding, client-side role checks, and passing happy-path flows do not prove server-side authorization.
92
+ 5. For each read, write, update, delete, export, or admin route, confirm the server-side query or policy binds the session actor to the target resource owner, tenant, role, or capability.
93
+ 6. Do not stop at "is logged in". Separate authentication from authorization, then inspect tenant, workspace, organization, team, owner, role, and guest filters on both reads and writes.
94
+ 7. For database and ORM changes, check for unscoped `findMany`, `updateMany`, `deleteMany`, mass assignment of `role`, `price`, `ownerId`, `isPaid`, or similar privileged fields, unsafe migration defaults, and missing row-level or policy-based access controls where the platform supports them.
95
+ 8. For state-changing routes that rely on cookies or browser credentials, check CSRF, origin, CORS, same-site, and rate-limit behavior instead of assuming the framework default is active.
96
+ 9. For session and token behavior, check cookie flags, JWT verification instead of decode-only logic, expiration, issuer and audience validation, reset or invite token entropy and lifetime, server-side revocation, logout invalidation, and reauthentication before sensitive account or payment changes.
97
+ 10. For external URL, webhook, preview, redirect, download, or callback behavior, check allowlists, protocol restrictions, redirect handling, DNS/IP re-resolution, private network ranges, link-local metadata endpoints, webhook signatures, timeout limits, retry limits, and open redirect parameters such as `next` or `redirect`.
98
+ 11. For database-as-a-service, storage bucket, or realtime rules, check that server-side policies are default-deny, ownership-scoped, and not left in public read/write development mode.
99
+ 12. For input sinks, check parameterized queries, ORM binding, static command maps, output encoding, HTML/Markdown rendering boundaries, unsafe dynamic evaluation, XML/YAML/Markdown parser options, redirect and sort parameters, page-size limits, and framework escape hatches.
100
+ 13. For file upload and download, check MIME and content signatures, size limits, storage outside executable web roots, SVG/HTML/PDF rendering rules, image or document metadata, filename controls, Unicode confusion, path traversal, download authorization, and resource limits for resizing, archive extraction, or document conversion.
101
+ 14. For business logic, check that server code does not trust client-supplied prices, discounts, roles, owners, entitlement state, plan limits, usage counters, inventory, seats, refunds, credits, or coupon state. Inspect idempotency, transactions, uniqueness, and concurrent requests for repeated side effects.
102
+ 15. For secrets and logs, check hardcoded credentials, frontend bundle exposure, public versus secret key confusion, real-looking samples, raw request or session dumps, stack traces, error payloads, screenshots, receipts, generated reports, and whether leaked keys need revocation guidance.
103
+ 16. Treat shell commands, copyable command text, executable names, workflow action references, publish identities, package manifests, lifecycle scripts, Dockerfiles, and environment path entries as disclosure and execution surfaces, not as harmless strings.
104
+ 17. For dependency changes, activate `dependency-reality-check` to confirm the package is declared, real, necessary, locked when appropriate, and not an assistant-hallucinated or lookalike dependency.
105
+ 18. For agent configuration, MCP/tool setup, prompt files, external instructions, or AI context settings, activate `external-prompt-injection-defense` and check hidden instruction text, suspicious Unicode controls, broad filesystem or shell permissions, network egress, sensitive context inclusion, and over-privileged service tokens.
106
+ 19. For filesystem changes, distinguish lexical containment from the real target. Check symlinks, generated state, package contents, and file APIs that may follow links before claiming a path stays inside the repository.
107
+ 20. For code-scanning alerts, group findings by root cause and rule. Fix the underlying pattern, not only the exact flagged line, and separate repository-setting alerts such as branch protection or maintainer activity from code changes.
108
+ 21. For workflow scanner alerts, check action pinning, `persist-credentials`, job-level permissions, reusable workflow permissions, fork pull-request secret exposure, artifact upload boundaries, and privileged identity timing before treating the warning as cosmetic.
109
+ 22. For pinned action references, distinguish tag objects from the commit that implements the tag. Verify pinned SHAs against the action repository so scanner tooling does not report an imposter or non-member commit.
110
+ 23. For dependency scanner alerts, separate production dependency manifests from fixtures, examples, generated test repositories, and intentionally vulnerable samples. Narrow the scan scope before treating fixture-only alerts as product vulnerabilities.
111
+ 24. For deployment settings, check debug mode, sample admin accounts, default credentials, public admin panels, open metrics endpoints, public storage, root container users, HTTPS enforcement, and exposed GraphQL or development consoles.
112
+ 25. For transport security, check HTTPS/TLS requirements, certificate validation, insecure HTTP downgrade paths, disabled verification flags, and whether sensitive traffic can bypass the secure channel.
113
+ 26. For cryptography, reject custom cryptography and tutorial-grade shortcuts. Check password hashing uses a password-hashing primitive such as bcrypt, scrypt, or Argon2id where supported by the project; random tokens use secure randomness; keys are separated from encrypted data; and weak hashes such as MD5, SHA-1, or bare SHA-256 are not used for password storage.
114
+ 27. For architecture drift, name the security invariant before accepting the generated structure. Confirm the invariant still holds across UI, handler, service, repository, database policy, workflow, and deployment boundaries.
115
+ 28. For SAST, SCA, or scanner output, treat scanner output as evidence rather than command authority. Map the finding to a repository-owned boundary, configured verification intent, dependency metadata, or regression test before claiming the issue is fixed.
116
+ 29. Verify that examples, fixtures, screenshots, command outputs, and final reports do not expose real-looking secrets or unnecessary personal data.
117
+ 30. Prefer omission or minimal metadata over masking when the sensitive value is not needed for the user to understand the result.
118
+ 31. If the change affects an authorization, SSRF, CSRF, rate-limit, upload, download, token, business-logic, injection, logging, agent permission, cryptography, transport, scanner, or abuse boundary, activate `security-regression-tests` for test selection instead of folding test generation into this review.
119
+ 32. Run the narrowest configured verification that covers the changed docs, templates, package, or mustflow contract.
90
120
 
91
121
  <!-- mustflow-section: postconditions -->
92
122
  ## Postconditions
93
123
 
94
124
  - Sensitive data and disclosure surfaces have been identified or explicitly reported as unknown.
125
+ - AI-generated or happy-path-only security assumptions have been replaced with inspected server-side, dependency, tool-permission, or test evidence.
95
126
  - Public and packaged surfaces do not include unnecessary secrets, personal data, or misleading privacy guarantees.
96
127
  - The final report names remaining unverified security or privacy risks without revealing sensitive values.
97
128
 
@@ -113,6 +144,7 @@ Use a narrower configured test, build, or documentation intent when it better pr
113
144
 
114
145
  - If a sensitive value appears in command output, stop copying it and summarize the issue without the value.
115
146
  - If the project lacks enough context to confirm privacy or secret handling, report the uncertainty and avoid claiming safety.
147
+ - If authorization, SSRF, CSRF, rate-limit, BaaS policy, or agent-tool permission evidence is missing, report the exact unverified boundary and do not rely on client-side behavior as a substitute.
116
148
  - If a copyable command, executable lookup, symlink-following path, or publishing workflow uses repository-controlled input across a trust boundary, treat it as a security issue until quoting, validation, no-follow file handling, or workflow isolation is verified.
117
149
  - If a scanner reports many alerts from test fixtures or generated sample repositories, do not hide them by dismissal first. Prefer narrowing scanner inputs to the real release and runtime dependency surfaces, then document any intentionally scanned fixture exceptions.
118
150
  - If a package, generated artifact, or public doc includes sensitive data, remove or redact it before continuing unrelated work.
@@ -122,7 +154,9 @@ Use a narrower configured test, build, or documentation intent when it better pr
122
154
  ## Output Format
123
155
 
124
156
  - Sensitive surfaces reviewed
157
+ - AI-generated happy-path assumptions checked
125
158
  - Disclosure or retention paths checked
159
+ - Authorization, session, token, input, file, network, business-logic, dependency, cryptography, transport, deployment, scanner, and agent-tool boundaries checked
126
160
  - Redaction, omission, or wording changes made
127
161
  - Related security-regression test need
128
162
  - Command intents run