mustflow 2.107.3 → 2.108.0

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 (42) hide show
  1. package/README.md +1 -0
  2. package/dist/cli/commands/init.js +49 -1
  3. package/dist/cli/commands/run/execution.js +7 -0
  4. package/dist/cli/commands/run/executor.js +7 -0
  5. package/dist/cli/commands/verify.js +14 -0
  6. package/dist/cli/commands/workspace.js +106 -16
  7. package/dist/cli/i18n/en.js +6 -1
  8. package/dist/cli/i18n/es.js +6 -1
  9. package/dist/cli/i18n/fr.js +6 -1
  10. package/dist/cli/i18n/hi.js +6 -1
  11. package/dist/cli/i18n/ko.js +6 -1
  12. package/dist/cli/i18n/zh.js +6 -1
  13. package/dist/cli/index.js +8 -0
  14. package/dist/cli/lib/agent-context.js +7 -0
  15. package/dist/cli/lib/repo-map.js +14 -0
  16. package/dist/cli/lib/run-plan.js +7 -0
  17. package/dist/core/change-verification.js +7 -0
  18. package/dist/core/verification-scheduler.js +7 -0
  19. package/package.json +1 -1
  20. package/schemas/README.md +3 -3
  21. package/schemas/workspace-status.schema.json +4 -2
  22. package/templates/default/common/.mustflow/config/mustflow.toml +3 -3
  23. package/templates/default/i18n.toml +61 -7
  24. package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +24 -1
  25. package/templates/default/locales/en/.mustflow/skills/INDEX.md +51 -5
  26. package/templates/default/locales/en/.mustflow/skills/admin-control-plane-safety-review/SKILL.md +200 -0
  27. package/templates/default/locales/en/.mustflow/skills/ai-product-readiness-review/SKILL.md +158 -0
  28. package/templates/default/locales/en/.mustflow/skills/auth-permission-change/SKILL.md +91 -28
  29. package/templates/default/locales/en/.mustflow/skills/browser-automation-reliability-review/SKILL.md +279 -0
  30. package/templates/default/locales/en/.mustflow/skills/cli-option-contract-review/SKILL.md +147 -0
  31. package/templates/default/locales/en/.mustflow/skills/database-change-safety/SKILL.md +21 -2
  32. package/templates/default/locales/en/.mustflow/skills/database-migration-change/SKILL.md +25 -7
  33. package/templates/default/locales/en/.mustflow/skills/deployment-rollout-safety-review/SKILL.md +117 -43
  34. package/templates/default/locales/en/.mustflow/skills/frontend-component-library-review/SKILL.md +299 -0
  35. package/templates/default/locales/en/.mustflow/skills/frontend-localization-review/SKILL.md +128 -36
  36. package/templates/default/locales/en/.mustflow/skills/notification-delivery-integrity-review/SKILL.md +226 -0
  37. package/templates/default/locales/en/.mustflow/skills/payment-integrity-review/SKILL.md +34 -14
  38. package/templates/default/locales/en/.mustflow/skills/routes.toml +54 -0
  39. package/templates/default/locales/en/.mustflow/skills/small-service-platform-architecture-review/SKILL.md +273 -0
  40. package/templates/default/locales/en/.mustflow/skills/third-party-api-integration-review/SKILL.md +188 -0
  41. package/templates/default/locales/en/.mustflow/skills/website-task-friction-review/SKILL.md +139 -0
  42. package/templates/default/manifest.toml +60 -1
@@ -324,6 +324,13 @@ function gapForRequirement(requirement, candidates) {
324
324
  detail: `No runnable command intents cover required_after = "${requirement.reason}".`,
325
325
  };
326
326
  }
327
+ /**
328
+ * mf:anchor core.verification.change-report
329
+ * purpose: Turn changed-file classification into verification requirements, candidates, gaps, and a scheduled intent plan.
330
+ * search: verification report, required_after, selected intents, gaps, test selection
331
+ * invariant: Selected verification intents must come from configured command-contract coverage and declared test selection.
332
+ * risk: config, data_consistency
333
+ */
327
334
  export function createChangeVerificationReport(classificationReport, commandContract, projectRoot) {
328
335
  const testSelectionPlan = createProjectTestSelectionPlan(projectRoot, classificationReport, commandContract);
329
336
  const requirements = classificationReport.summary.validationReasons.map((reason) => createVerificationRequirement(classificationReport, reason));
@@ -137,6 +137,13 @@ function addEntryToBatches(batches, batchEntries, entry) {
137
137
  locks: entry.locks,
138
138
  });
139
139
  }
140
+ /**
141
+ * mf:anchor core.verification.schedule-locks
142
+ * purpose: Order selected verification intents by command-effect locks and undeclared-write risk.
143
+ * search: verification schedule, command effects, locks, parallel eligible, undeclared writes
144
+ * invariant: Intents without explicit compatible effects or with recent undeclared writes stay serial-only.
145
+ * risk: config, state
146
+ */
140
147
  export function createVerificationSchedule(projectRoot, commandContract, candidates) {
141
148
  const latestUndeclaredWriteIntents = readLatestUndeclaredWriteIntents(projectRoot);
142
149
  const runnableIntents = uniqueSorted(candidates
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mustflow",
3
- "version": "2.107.3",
3
+ "version": "2.108.0",
4
4
  "description": "Agent workflow documents and CLI for mustflow repository roots.",
5
5
  "type": "module",
6
6
  "license": "MIT-0",
package/schemas/README.md CHANGED
@@ -39,9 +39,9 @@ Current schemas:
39
39
  - `evidence-report.schema.json`: output of `mf evidence --changed --json`, containing verification
40
40
  requirements, risk-priced evidence assessment, latest bounded evidence, failure replay capsules,
41
41
  conflict ledgers, receipts, remaining risks, and gaps without running commands
42
- - `workspace-status.schema.json`: output of `mf workspace status --json`, containing configured
43
- workspace roots, discovered nested repositories, and per-root command-contract readiness without
44
- granting command authority
42
+ - `workspace-status.schema.json`: output of `mf workspace status --json` and
43
+ `mf workspace scan --json`, containing configured or ad hoc workspace roots, discovered nested
44
+ repositories, and per-root command-contract readiness without granting command authority
45
45
  - `workspace-command-catalog.schema.json`: output of `mf workspace command-catalog --json`,
46
46
  containing per-root command intent availability, safe `mf run` entrypoints, and no raw command
47
47
  strings
@@ -16,7 +16,7 @@
16
16
  ],
17
17
  "properties": {
18
18
  "schema_version": { "const": "1" },
19
- "command": { "const": "workspace status" },
19
+ "command": { "enum": ["workspace status", "workspace scan"] },
20
20
  "mustflow_root": { "type": "string" },
21
21
  "workspace": {
22
22
  "type": "object",
@@ -65,7 +65,9 @@
65
65
  "type": "array",
66
66
  "items": { "$ref": "#/$defs/repository" }
67
67
  },
68
- "issues": { "$ref": "#/$defs/stringArray" }
68
+ "issues": { "$ref": "#/$defs/stringArray" },
69
+ "projects_dir": { "type": "string" },
70
+ "next_actions": { "$ref": "#/$defs/stringArray" }
69
71
  },
70
72
  "$defs": {
71
73
  "stringArray": {
@@ -34,7 +34,7 @@ project_context = ".mustflow/context/PROJECT.md"
34
34
  output = "REPO_MAP.md"
35
35
  mode = "anchors_only"
36
36
  privacy = "minimal"
37
- include_nested = false
37
+ include_nested = true
38
38
  anchor_files = [
39
39
  "AGENTS.md",
40
40
  "REPO_MAP.md",
@@ -94,8 +94,8 @@ anchor_files = [
94
94
  ]
95
95
 
96
96
  [workspace]
97
- enabled = false
98
- roots = []
97
+ enabled = true
98
+ roots = ["projects"]
99
99
  max_depth = 4
100
100
  max_repositories = 50
101
101
  follow_symlinks = false
@@ -40,7 +40,7 @@ translations.hi = { path = "locales/hi/.mustflow/context/PROJECT.md", source_rev
40
40
  [documents."docs.agent-workflow"]
41
41
  source = "locales/en/.mustflow/docs/agent-workflow.md"
42
42
  source_locale = "en"
43
- revision = 27
43
+ revision = 28
44
44
  translations.ko = { path = "locales/ko/.mustflow/docs/agent-workflow.md", source_revision = 23, status = "needs_review" }
45
45
  translations.zh = { path = "locales/zh/.mustflow/docs/agent-workflow.md", source_revision = 18, status = "needs_review" }
46
46
  translations.es = { path = "locales/es/.mustflow/docs/agent-workflow.md", source_revision = 18, status = "needs_review" }
@@ -62,7 +62,7 @@ translations = {}
62
62
  [documents."skills.index"]
63
63
  source = "locales/en/.mustflow/skills/INDEX.md"
64
64
  source_locale = "en"
65
- revision = 200
65
+ revision = 206
66
66
  translations = {}
67
67
 
68
68
  [documents."skill.adapter-boundary"]
@@ -152,7 +152,7 @@ translations = {}
152
152
  [documents."skill.payment-integrity-review"]
153
153
  source = "locales/en/.mustflow/skills/payment-integrity-review/SKILL.md"
154
154
  source_locale = "en"
155
- revision = 3
155
+ revision = 4
156
156
  translations = {}
157
157
 
158
158
  [documents."skill.credit-ledger-integrity-review"]
@@ -161,12 +161,36 @@ source_locale = "en"
161
161
  revision = 1
162
162
  translations = {}
163
163
 
164
+ [documents."skill.notification-delivery-integrity-review"]
165
+ source = "locales/en/.mustflow/skills/notification-delivery-integrity-review/SKILL.md"
166
+ source_locale = "en"
167
+ revision = 1
168
+ translations = {}
169
+
170
+ [documents."skill.admin-control-plane-safety-review"]
171
+ source = "locales/en/.mustflow/skills/admin-control-plane-safety-review/SKILL.md"
172
+ source_locale = "en"
173
+ revision = 1
174
+ translations = {}
175
+
176
+ [documents."skill.small-service-platform-architecture-review"]
177
+ source = "locales/en/.mustflow/skills/small-service-platform-architecture-review/SKILL.md"
178
+ source_locale = "en"
179
+ revision = 1
180
+ translations = {}
181
+
164
182
  [documents."skill.api-misuse-resistance-review"]
165
183
  source = "locales/en/.mustflow/skills/api-misuse-resistance-review/SKILL.md"
166
184
  source_locale = "en"
167
185
  revision = 1
168
186
  translations = {}
169
187
 
188
+ [documents."skill.third-party-api-integration-review"]
189
+ source = "locales/en/.mustflow/skills/third-party-api-integration-review/SKILL.md"
190
+ source_locale = "en"
191
+ revision = 1
192
+ translations = {}
193
+
170
194
  [documents."skill.api-access-control-review"]
171
195
  source = "locales/en/.mustflow/skills/api-access-control-review/SKILL.md"
172
196
  source_locale = "en"
@@ -317,9 +341,21 @@ source_locale = "en"
317
341
  revision = 1
318
342
  translations = {}
319
343
 
344
+ [documents."skill.frontend-component-library-review"]
345
+ source = "locales/en/.mustflow/skills/frontend-component-library-review/SKILL.md"
346
+ source_locale = "en"
347
+ revision = 1
348
+ translations = {}
349
+
320
350
  [documents."skill.frontend-localization-review"]
321
351
  source = "locales/en/.mustflow/skills/frontend-localization-review/SKILL.md"
322
352
  source_locale = "en"
353
+ revision = 2
354
+ translations = {}
355
+
356
+ [documents."skill.website-task-friction-review"]
357
+ source = "locales/en/.mustflow/skills/website-task-friction-review/SKILL.md"
358
+ source_locale = "en"
323
359
  revision = 1
324
360
  translations = {}
325
361
 
@@ -386,7 +422,7 @@ translations = {}
386
422
  [documents."skill.deployment-rollout-safety-review"]
387
423
  source = "locales/en/.mustflow/skills/deployment-rollout-safety-review/SKILL.md"
388
424
  source_locale = "en"
389
- revision = 2
425
+ revision = 3
390
426
  translations = {}
391
427
 
392
428
  [documents."skill.cloud-cost-guardrail-review"]
@@ -452,13 +488,13 @@ translations = {}
452
488
  [documents."skill.database-change-safety"]
453
489
  source = "locales/en/.mustflow/skills/database-change-safety/SKILL.md"
454
490
  source_locale = "en"
455
- revision = 16
491
+ revision = 17
456
492
  translations = {}
457
493
 
458
494
  [documents."skill.database-migration-change"]
459
495
  source = "locales/en/.mustflow/skills/database-migration-change/SKILL.md"
460
496
  source_locale = "en"
461
- revision = 3
497
+ revision = 4
462
498
  translations = {}
463
499
 
464
500
  [documents."skill.database-query-bottleneck-review"]
@@ -607,7 +643,7 @@ translations = {}
607
643
  [documents."skill.auth-permission-change"]
608
644
  source = "locales/en/.mustflow/skills/auth-permission-change/SKILL.md"
609
645
  source_locale = "en"
610
- revision = 3
646
+ revision = 4
611
647
  translations = {}
612
648
 
613
649
  [documents."skill.security-flow-review"]
@@ -814,6 +850,12 @@ source_locale = "en"
814
850
  revision = 2
815
851
  translations = {}
816
852
 
853
+ [documents."skill.cli-option-contract-review"]
854
+ source = "locales/en/.mustflow/skills/cli-option-contract-review/SKILL.md"
855
+ source_locale = "en"
856
+ revision = 1
857
+ translations = {}
858
+
817
859
  [documents."skill.cli-output-contract-review"]
818
860
  source = "locales/en/.mustflow/skills/cli-output-contract-review/SKILL.md"
819
861
  source_locale = "en"
@@ -1149,6 +1191,12 @@ source_locale = "en"
1149
1191
  revision = 2
1150
1192
  translations = {}
1151
1193
 
1194
+ [documents."skill.ai-product-readiness-review"]
1195
+ source = "locales/en/.mustflow/skills/ai-product-readiness-review/SKILL.md"
1196
+ source_locale = "en"
1197
+ revision = 1
1198
+ translations = {}
1199
+
1152
1200
  [documents."skill.prompt-contract-quality-review"]
1153
1201
  source = "locales/en/.mustflow/skills/prompt-contract-quality-review/SKILL.md"
1154
1202
  source_locale = "en"
@@ -1179,6 +1227,12 @@ source_locale = "en"
1179
1227
  revision = 1
1180
1228
  translations = {}
1181
1229
 
1230
+ [documents."skill.browser-automation-reliability-review"]
1231
+ source = "locales/en/.mustflow/skills/browser-automation-reliability-review/SKILL.md"
1232
+ source_locale = "en"
1233
+ revision = 1
1234
+ translations = {}
1235
+
1182
1236
  [documents."skill.agent-eval-integrity-review"]
1183
1237
  source = "locales/en/.mustflow/skills/agent-eval-integrity-review/SKILL.md"
1184
1238
  source_locale = "en"
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: docs.agent-workflow
3
3
  locale: en
4
4
  canonical: true
5
- revision: 27
5
+ revision: 28
6
6
  lifecycle: mustflow-owned
7
7
  authority: workflow-policy
8
8
  ---
@@ -68,6 +68,29 @@ When multiple skills apply, follow the most specific skill for each affected sco
68
68
 
69
69
  When a skill is used, report the skill name and selection reason briefly in the next user-facing update or final report. When files were created or modified, the final report must include a concise skill-selection note: list the skills used, say that no matching installed skill was found, or report that a plausible skill is missing from the installed profile. Do not create a versioned worklog solely to record skill selection.
70
70
 
71
+ ### Script-Pack Selection
72
+
73
+ Script-pack suggestions are optional evidence helpers, not skill procedures or command authority.
74
+ Skills remain the primary procedure owner: select and read the matching `SKILL.md` first, then use
75
+ script-pack metadata only to decide whether a bounded helper would improve orientation,
76
+ synchronization, or review evidence.
77
+
78
+ When the command contract exposes `script_pack_list`, use it for catalog discovery only. When the
79
+ command contract exposes `script_pack_suggest_changed`, use it after changed files exist to get
80
+ optional helper suggestions from current path evidence. These discovery commands do not run helper
81
+ scripts, authorize new commands, or replace the skill-selection gate.
82
+
83
+ Prefer helper candidates whose `related_skills` include the selected skill, whose `phases` match the
84
+ current phase (`before_change`, `during_change`, `after_change`, or `review`), and whose `use_when`
85
+ matches the changed paths and risk. Discard a candidate when `read_only` is false, `mutates` is true,
86
+ network, destructive, interactive, or long-running behavior appears, required inputs are unavailable,
87
+ the phase does not match, or no configured oneshot command intent authorizes that exact action.
88
+
89
+ Script-pack output can focus what to inspect, but it does not replace reading `SKILL.md`, relevant
90
+ source files, configured verification intents, documentation review requirements, or final completion
91
+ evidence. Suggested helpers are not mandatory. Report skipped useful suggestions only when they were
92
+ relevant to the current risk but not run.
93
+
71
94
  ## Input Stability
72
95
 
73
96
  Treat user instructions, local files, command contracts, and generated reports as distinct sources. Avoid conflating these sources.