mustflow 2.112.9 → 2.112.13

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 (45) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/commands/contract-lint.js +3 -13
  3. package/dist/cli/commands/impact.js +2 -12
  4. package/dist/cli/commands/init.js +39 -14
  5. package/dist/cli/commands/onboard.js +3 -13
  6. package/dist/cli/commands/version-sources.js +2 -12
  7. package/dist/cli/i18n/en.js +6 -0
  8. package/dist/cli/i18n/es.js +6 -0
  9. package/dist/cli/i18n/fr.js +6 -0
  10. package/dist/cli/i18n/hi.js +6 -0
  11. package/dist/cli/i18n/ko.js +6 -0
  12. package/dist/cli/i18n/zh.js +6 -0
  13. package/dist/cli/lib/agent-context.js +2 -1
  14. package/dist/cli/lib/dashboard-locale.js +6 -0
  15. package/dist/cli/lib/dashboard-preferences.js +24 -1
  16. package/dist/cli/lib/preferences-options.js +8 -0
  17. package/dist/cli/lib/validation/constants.js +3 -1
  18. package/dist/cli/lib/validation/index.js +10 -1
  19. package/dist/core/preferences.js +79 -0
  20. package/dist/core/repo-version-source.js +9 -18
  21. package/package.json +1 -1
  22. package/templates/default/common/.mustflow/config/preferences.toml +10 -0
  23. package/templates/default/i18n.toml +19 -19
  24. package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +10 -4
  25. package/templates/default/locales/en/.mustflow/skills/INDEX.md +4 -4
  26. package/templates/default/locales/en/.mustflow/skills/async-timing-boundary-review/SKILL.md +19 -5
  27. package/templates/default/locales/en/.mustflow/skills/backend-log-evidence-review/SKILL.md +10 -3
  28. package/templates/default/locales/en/.mustflow/skills/cache-integrity-review/SKILL.md +63 -21
  29. package/templates/default/locales/en/.mustflow/skills/concurrency-invariant-review/SKILL.md +13 -3
  30. package/templates/default/locales/en/.mustflow/skills/cross-platform-filesystem-safety/SKILL.md +10 -9
  31. package/templates/default/locales/en/.mustflow/skills/dependency-upgrade-review/SKILL.md +8 -3
  32. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/SKILL.md +19 -3
  33. package/templates/default/locales/en/.mustflow/skills/observability-debuggability-review/SKILL.md +31 -21
  34. package/templates/default/locales/en/.mustflow/skills/race-condition-review/SKILL.md +38 -25
  35. package/templates/default/locales/en/.mustflow/skills/repro-first-debug/SKILL.md +43 -10
  36. package/templates/default/locales/en/.mustflow/skills/routes.toml +4 -4
  37. package/templates/default/locales/en/.mustflow/skills/security-flow-review/SKILL.md +19 -4
  38. package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +8 -3
  39. package/templates/default/locales/en/AGENTS.md +9 -1
  40. package/templates/default/locales/es/AGENTS.md +2 -0
  41. package/templates/default/locales/fr/AGENTS.md +2 -0
  42. package/templates/default/locales/hi/AGENTS.md +2 -0
  43. package/templates/default/locales/ko/AGENTS.md +3 -1
  44. package/templates/default/locales/zh/AGENTS.md +2 -0
  45. package/templates/default/manifest.toml +1 -1
@@ -10,12 +10,12 @@ status_values = ["current", "stale", "needs_review", "missing"]
10
10
  [documents."agents.root"]
11
11
  source = "locales/en/AGENTS.md"
12
12
  source_locale = "en"
13
- revision = 20
14
- translations.ko = { path = "locales/ko/AGENTS.md", source_revision = 20, status = "current" }
15
- translations.zh = { path = "locales/zh/AGENTS.md", source_revision = 11, status = "needs_review" }
16
- translations.es = { path = "locales/es/AGENTS.md", source_revision = 11, status = "needs_review" }
17
- translations.fr = { path = "locales/fr/AGENTS.md", source_revision = 11, status = "needs_review" }
18
- translations.hi = { path = "locales/hi/AGENTS.md", source_revision = 11, status = "needs_review" }
13
+ revision = 21
14
+ translations.ko = { path = "locales/ko/AGENTS.md", source_revision = 21, status = "current" }
15
+ translations.zh = { path = "locales/zh/AGENTS.md", source_revision = 21, status = "needs_review" }
16
+ translations.es = { path = "locales/es/AGENTS.md", source_revision = 21, status = "needs_review" }
17
+ translations.fr = { path = "locales/fr/AGENTS.md", source_revision = 21, status = "needs_review" }
18
+ translations.hi = { path = "locales/hi/AGENTS.md", source_revision = 21, status = "needs_review" }
19
19
 
20
20
  [documents."context.index"]
21
21
  source = "locales/en/.mustflow/context/INDEX.md"
@@ -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 = 28
43
+ revision = 29
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" }
@@ -224,7 +224,7 @@ translations = {}
224
224
  [documents."skill.memory-lifetime-review"]
225
225
  source = "locales/en/.mustflow/skills/memory-lifetime-review/SKILL.md"
226
226
  source_locale = "en"
227
- revision = 1
227
+ revision = 2
228
228
  translations = {}
229
229
 
230
230
  [documents."skill.desktop-memory-footprint-review"]
@@ -380,7 +380,7 @@ translations = {}
380
380
  [documents."skill.cache-integrity-review"]
381
381
  source = "locales/en/.mustflow/skills/cache-integrity-review/SKILL.md"
382
382
  source_locale = "en"
383
- revision = 2
383
+ revision = 3
384
384
  translations = {}
385
385
 
386
386
  [documents."skill.quadratic-scan-review"]
@@ -398,19 +398,19 @@ translations = {}
398
398
  [documents."skill.race-condition-review"]
399
399
  source = "locales/en/.mustflow/skills/race-condition-review/SKILL.md"
400
400
  source_locale = "en"
401
- revision = 1
401
+ revision = 3
402
402
  translations = {}
403
403
 
404
404
  [documents."skill.async-timing-boundary-review"]
405
405
  source = "locales/en/.mustflow/skills/async-timing-boundary-review/SKILL.md"
406
406
  source_locale = "en"
407
- revision = 1
407
+ revision = 2
408
408
  translations = {}
409
409
 
410
410
  [documents."skill.concurrency-invariant-review"]
411
411
  source = "locales/en/.mustflow/skills/concurrency-invariant-review/SKILL.md"
412
412
  source_locale = "en"
413
- revision = 1
413
+ revision = 2
414
414
  translations = {}
415
415
 
416
416
  [documents."skill.failure-integrity-review"]
@@ -422,13 +422,13 @@ translations = {}
422
422
  [documents."skill.backend-log-evidence-review"]
423
423
  source = "locales/en/.mustflow/skills/backend-log-evidence-review/SKILL.md"
424
424
  source_locale = "en"
425
- revision = 3
425
+ revision = 4
426
426
  translations = {}
427
427
 
428
428
  [documents."skill.observability-debuggability-review"]
429
429
  source = "locales/en/.mustflow/skills/observability-debuggability-review/SKILL.md"
430
430
  source_locale = "en"
431
- revision = 2
431
+ revision = 3
432
432
  translations = {}
433
433
 
434
434
  [documents."skill.incident-triage-review"]
@@ -595,7 +595,7 @@ translations = {}
595
595
  [documents."skill.dependency-upgrade-review"]
596
596
  source = "locales/en/.mustflow/skills/dependency-upgrade-review/SKILL.md"
597
597
  source_locale = "en"
598
- revision = 5
598
+ revision = 6
599
599
  translations = {}
600
600
 
601
601
  [documents."skill.version-freshness-check"]
@@ -679,7 +679,7 @@ translations = {}
679
679
  [documents."skill.security-flow-review"]
680
680
  source = "locales/en/.mustflow/skills/security-flow-review/SKILL.md"
681
681
  source_locale = "en"
682
- revision = 1
682
+ revision = 2
683
683
  translations = {}
684
684
 
685
685
  [documents."skill.config-env-change"]
@@ -961,7 +961,7 @@ translations = {}
961
961
  [documents."skill.cross-platform-filesystem-safety"]
962
962
  source = "locales/en/.mustflow/skills/cross-platform-filesystem-safety/SKILL.md"
963
963
  source_locale = "en"
964
- revision = 6
964
+ revision = 7
965
965
  translations = {}
966
966
 
967
967
  [documents."skill.pure-core-imperative-shell"]
@@ -1116,7 +1116,7 @@ translations = {}
1116
1116
  [documents."skill.repro-first-debug"]
1117
1117
  source = "locales/en/.mustflow/skills/repro-first-debug/SKILL.md"
1118
1118
  source_locale = "en"
1119
- revision = 3
1119
+ revision = 5
1120
1120
  translations = {}
1121
1121
 
1122
1122
  [documents."skill.source-freshness-check"]
@@ -1164,7 +1164,7 @@ translations = {}
1164
1164
  [documents."skill.security-privacy-review"]
1165
1165
  source = "locales/en/.mustflow/skills/security-privacy-review/SKILL.md"
1166
1166
  source_locale = "en"
1167
- revision = 23
1167
+ revision = 24
1168
1168
  translations = {}
1169
1169
 
1170
1170
  [documents."skill.security-regression-tests"]
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: docs.agent-workflow
3
3
  locale: en
4
4
  canonical: true
5
- revision: 28
5
+ revision: 29
6
6
  lifecycle: mustflow-owned
7
7
  authority: workflow-policy
8
8
  ---
@@ -28,7 +28,7 @@ mustflow documents have specific, narrow roles. Do not move a rule into a lower-
28
28
  | `.mustflow/docs/agent-workflow.md` | Shared workflow policy for reading, editing, verifying, reporting, and failure handling. | Expands `AGENTS.md`; does not define executable commands. | mustflow-owned Markdown. |
29
29
  | `.mustflow/config/mustflow.toml` | Machine-readable workflow configuration, document roots, protection, budget, approval, retention, and refresh settings. | Configuration source for mustflow behavior. | mustflow-owned TOML. |
30
30
  | `.mustflow/config/commands.toml` | Command intent contract. | Sole source granting project command execution through configured intents. | Repository-local TOML, edited when command contracts change. |
31
- | `.mustflow/config/preferences.toml` | Repository-level defaults for style, language, Git suggestions, testing tendency, verification selection, and version-impact handling. | Lower-authority preferences; not permissions. | Repository-local TOML, user-customizable. |
31
+ | `.mustflow/config/preferences.toml` | Repository-level defaults for style, language, Git suggestions, testing tendency, verification selection, and version-impact handling. | Lower-authority preferences; not permissions. Child repositories without local preferences may inherit the nearest parent mustflow preferences as defaults. | Repository-local TOML, user-customizable. |
32
32
  | `.mustflow/context/INDEX.md` | Router for task-specific context files. | Selects optional context only; not a policy manual. | mustflow-owned Markdown. |
33
33
  | `.mustflow/context/PROJECT.md` | Cautious project facts, unknowns, and domain conventions. | Contextual reference below user instructions, code, tests, commands, and configured policies. | User-editable context. |
34
34
  | `.mustflow/skills/router.toml` | Stable compact route taxonomy and fallback rules for prompt-cache-friendly first-pass skill selection. | Selection kernel only; procedure detail remains in `SKILL.md`. | mustflow-owned TOML. |
@@ -98,6 +98,12 @@ Treat user instructions, local files, command contracts, and generated reports a
98
98
  - Direct user instructions take priority.
99
99
  - The nearest `AGENTS.md` takes precedence over broader parent rules.
100
100
  - `.mustflow/config/preferences.toml` contains defaults, not mandatory requirements.
101
+ - If a child repository has no local `.mustflow/config/preferences.toml`, apply the nearest parent
102
+ mustflow root's preferences as inherited defaults. Inherited preferences include `[git]`,
103
+ `[git.commit_message]`, `[release.versioning]`, verification, testing, language, reporting, and
104
+ other preference sections. Child-local preference values override inherited values field by field.
105
+ - Never inherit `.mustflow/config/commands.toml`; command execution authority stays with the nearest
106
+ repository command contract.
101
107
  - Generated files such as `REPO_MAP.md`, `.mustflow/cache/**`, and `.mustflow/state/**` may become stale.
102
108
  - Compacted summaries are derived representations of state. Current code, configuration, command records, and current user instructions override them.
103
109
 
@@ -136,7 +142,7 @@ Do not collapse every instruction into a single priority list. Resolve conflicts
136
142
  - Repository work rules: use the nearest `AGENTS.md` plus `.mustflow/config/*.toml`.
137
143
  - Command execution: `.mustflow/config/commands.toml` is the project command contract.
138
144
  - Verification evidence: `mf run` receipts and current files outrank direct host shell output.
139
- - Context and preferences: `.mustflow/context/*`, `preferences.toml`, and generated maps are lower-authority defaults.
145
+ - Context and preferences: `.mustflow/context/*`, local or inherited `preferences.toml`, and generated maps are lower-authority defaults.
140
146
  - Session and cache state: host summaries, `.mustflow/cache/**`, and `.mustflow/state/**` never override current files or current user instructions.
141
147
 
142
148
  Allowed action sets narrow by intersection. Denied actions, approval requirements, privacy rules, and destructive-command rules accumulate. When the effective rule is unclear, stop and report the conflict instead of guessing.
@@ -214,7 +220,7 @@ Git operations that modify state or history are denied by default.
214
220
  - `git.auto_commit = false`: do not commit without a user request.
215
221
  - `git.auto_push = false`: do not push without a user request.
216
222
 
217
- These values are repository preferences, not permissions. They do not override direct user instructions, `.mustflow/config/commands.toml`, or approval policy in `.mustflow/config/mustflow.toml`. In particular, `git.auto_commit = true` does not grant push permission, and `git.auto_push = true` cannot be enabled through `mf init`.
223
+ These values are repository preferences, not permissions. They do not override direct user instructions, `.mustflow/config/commands.toml`, or approval policy in `.mustflow/config/mustflow.toml`. In particular, `git.auto_commit = true` does not grant push permission, and `git.auto_push = true` still requires an explicit user request and any host approval required for push operations.
218
224
 
219
225
  ## Version Impact Policy
220
226
 
@@ -639,8 +639,8 @@ routes. Event routes stay inactive until their event occurs.
639
639
  | API security review needs api-access-control triage for BOLA or IDOR, effective permission decisions, broken authentication, object-level authorization, object-property authorization, function-level authorization, request-supplied user, tenant, role, or owner identifiers, tenant isolation, scoped admin, list/detail mismatch, write permissions, mass assignment, DTO exposure, client-only admin, temporary public holes, router order, GraphQL resolvers, batch APIs, exports, downloads, previews, signed storage URLs, cache keys, async job revalidation, webhook ownership mapping, OAuth or OIDC confusion, JWT verification, stale token claims, session rotation, cookie flags, reauthentication, reset tokens, account enumeration, automation defense, internal identity planes, or denial-case matrices | `.mustflow/skills/api-access-control-review/SKILL.md` | User goal, current diff or target files, subject-object-action-context ledger, decision explanation ledger, object authorization ledger, property authorization ledger, function authorization ledger, authentication proof ledger, denial evidence, and configured command intents | Server-side object checks, tenant-scoped lookups, relationship checks, function-level checks, property allowlists, DTO mappers, signed URL scoping, cache-key dimensions, worker revalidation, webhook ownership mapping, token/session/cookie hardening, reauthentication gates, enumeration-safe responses, rate limits, audit logs, focused denial tests, and directly synchronized docs or templates | login-as-authorization, request-owned identity trust, findById before owner check, role-only admin, unexplainable allow/deny decision, list/detail authorization drift, read/write permission confusion, mass assignment, entity DTO leak, client-only admin, permitAll leak, route shadowing, resolver bypass, batch item bypass, export/download bypass, signed URL bypass, tenantless query or cache, stale queue permission, webhook ownership confusion, OAuth/OIDC token confusion, decoded-but-unverified JWT, stale token claim, session fixation, weak cookie, missing reauth, reusable reset token, account enumeration, automation abuse, internal account exposure, or happy-path-only auth tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | API access control reviewed, subject/object/action/field/tenant map, effective permission and decision-explanation findings, object/property/function/auth findings, fixes or recommendation, denial evidence, verification, and remaining API access-control risk |
640
640
  | Admin panel, backoffice tool, support console, operator dashboard, staff API, internal dashboard, admin RBAC or ABAC, scoped operator role, audit log, object change history, impersonation, dangerous action, approval flow, export, import, bulk operation, admin search or filter, production guardrail, PII masking, admin session, MFA, or operational-evidence work needs admin-control-plane safety triage | `.mustflow/skills/admin-control-plane-safety-review/SKILL.md` | User goal, current diff or target files, admin actor and session ledger, permission ledger, resource and field ledger, dangerous action ledger, audit and change-history ledger, impersonation ledger, search/filter/export/import/bulk ledger, role matrix, admin docs, runbooks, existing tests, and configured command intents | Scoped admin permission checks, trusted-layer enforcement, server-side field allowlists, tenant-scoped lookups, step-up authentication, dangerous-action previews and confirmations, approval gates, audit records, change-history records, impersonation controls, export/import controls, bulk dry-run and job controls, search and filter limits, production guardrails, focused hostile-path tests, and directly synchronized docs or templates | single `is_admin` shortcut, UI-only admin gate, hidden button trusted as security, support bypass, role-only operator permission, missing explicit deny, missing admin MFA or step-up, audit log confused with change history, editable audit trail, impersonation without actor and subject, export-as-harmless-read, unlimited PII CSV, import mass assignment, bulk click without dry run, preview payload trusted at execution, missing idempotency, no cancel or partial-failure report, production/staging confusion, unmasked sensitive search, unaudited PII read, or happy-path-only admin tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | Admin control plane reviewed, operator persona and environment scope, effective permission and trusted enforcement findings, admin session and production guardrails, audit versus change-history findings, impersonation/dangerous-action/export/import/bulk/search/filter findings, hostile-path evidence, verification, and remaining admin-control-plane risk |
641
641
  | File upload, import, attachment, direct-to-storage upload, remote file fetch, archive extraction, thumbnail, preview, image resize, OCR, media transcode, document conversion, antivirus scan, CDR, file metadata, storage key, public file URL, signed upload URL, signed download URL, CDN delivery, file download, uploaded filename display, or file lifecycle test needs file-upload-security triage across validation, storage, processing, serving, and cleanup | `.mustflow/skills/file-upload-security-review/SKILL.md` | User goal, current diff or target files, upload entrypoint ledger, file identity ledger, validation ledger, processing ledger, serving ledger, existing tests or abuse cases, storage policy evidence, and configured command intents | Server-side type allowlists, decoded and normalized filename checks, generated storage keys, path containment checks, overwrite protection, upload size and count limits, quota checks, quarantine states, scanner gates, parser sandboxing, archive extraction guards, CSV formula neutralization, metadata stripping, image rewriting, signed URL constraints, download authorization, response headers, filename encoding, audit logs, cleanup rules, focused denial tests, and directly synchronized docs or templates | client-only file restriction, trusted MIME label, extension check before normalization, blocklist-only type policy, original-name-only validation, user-controlled storage key, path traversal, long-name exception leak, overwrite or key guessing, executable web-root storage, web-server handler execution, magic-byte theater, polyglot file, metadata payload, active SVG or HTML, unsafe PDF or Office preview, Zip Slip, decompression bomb, CSV formula injection, remote fetch SSRF, scan-after-publication gap, unsandboxed parser, weak presigned URL policy, direct-to-storage pre-scan publication, tenant key collision, missing download authorization, unsafe response header, filename XSS or header injection, chunk assembly bypass, quota bypass, orphan file leak, or happy-path-only upload tests | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `test_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | File upload security reviewed, upload/file identity/storage/validation/processing/serving/cleanup map, findings, fixes or recommendation, denial evidence, verification, and remaining file-upload security risk |
642
- | Code review or implementation needs security-flow triage by tracing values from source to sink across authorization, object ownership, tenant scoping, IDOR or BOLA risk, list/detail/export scope, state-changing permissions, mass assignment, admin-only surfaces, cache keys, sort/filter/field injection inputs, ORM raw paths, shell wrappers, SSRF, file upload and extraction, path traversal, XSS, CSRF, OAuth, reset tokens, JWTs, cookies, cryptography, logs, fail-open error handling, queued work, race conditions, or supply-chain and CI/CD paths | `.mustflow/skills/security-flow-review/SKILL.md` | User goal, current diff or target files, security claim, source-to-sink map, actor and resource map, read and write surfaces, framework escape hatches, existing tests or scanner findings, and configured command intents | Server-side ownership checks, tenant-scoped queries, allowlisted updates, cache-key dimensions, URL and path validation, parser or renderer boundaries, upload and extraction limits, token validation, cookie flags, fail-closed error handling, queue revalidation, idempotency, focused tests, and directly synchronized docs or templates | dangerous-keyword theater, authentication treated as authorization, UUID-as-lock assumption, list/detail scope drift, export over-disclosure, state change via raw body status, mass assignment, frontend-only admin gate, cache viewer leak, ORDER BY injection, ORM raw escape hatch, shell wrapper injection, SSRF, unsafe upload preview, Zip Slip, decompression bomb, path traversal, XSS, CSRF, weak OAuth state, reset-token reuse, stale JWT claims, broad cookie domain, custom crypto, token or PII logging, missing security logs, fail-open permission, stale queued permission, duplicate money or entitlement effect, postinstall or CI secret exposure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Security flow reviewed, source/sink/actor/resource/tenant map, authorization and ownership notes, input/file/network/browser/token/cookie/crypto/log/fail-open/async/race/cache/supply-chain findings, fixes or recommendation, tests or invariant evidence, verification, and remaining security-flow risk |
643
- | Code, configuration, docs, templates, logs, telemetry, traces, baggage, behavior analytics, credentials, data flows, data residency policy, region or processing-location claims, AI-generated code, authentication, authorization, client-only permission checks, admin operations, audit logs, cache policy, cache-as-authority decisions, claim or policy data, comparison or affiliate data, user-generated content, sessions, tokens, uploads, downloads, signed URLs, API responses, webhooks, job queues, external API call records, external requests, third-party data-use terms, runtime security patch policy, deployment settings, dependencies, cryptography, secure transport, scanner gates, security invariants, or agent configuration affect secrets, personal data, retention, access control, vendor disclosure, or external disclosure | `.mustflow/skills/security-privacy-review/SKILL.md` | Changed files, sensitive surfaces, actor and resource owner, data-owner boundary, data residency and processing-location boundary, runtime patch boundary, AI gateway or budget boundary, server-side authorization rule, file upload/download boundary, API response field boundary, behavior analytics surface, trace or baggage surface, webhook or external-call record surface, admin operation surface, audit-log surface, cache visibility and authority policy, claim or affiliate policy surface, session or token surface, external target, dependency source, third-party data-use or terms surface, cryptography or transport surface, scanner evidence, agent-tool permission, deployment setting, project secret and privacy rules, public or packaged surfaces, and command contract entries | Sensitive data handling, authorization, admin operations, data residency, runtime patchability, AI budget records, behavior analytics, observability identifiers, webhook receipts, external-call records, dead-letter records, audit logs, shared-cache behavior, cache-authority behavior, claim and affiliate disclosure, sessions, tokens, inputs, files, signed URLs, API responses, logs, receipts, generated state, docs, templates, package metadata, deployment settings, and reports | secret leak, personal-data exposure, access-control bypass, client-trusted role or owner value, unsafe admin action, private file exposure, over-broad API response, shared-cache leak, unsafe cache authority, unprovable data location, unpatchable runtime, privacy-heavy telemetry, unsafe baggage propagation, unsafe webhook payload retention, unsafe external request, supply-chain drift, weak cryptography, insecure transport, over-privileged agent, risky third-party terms, or misleading privacy claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Sensitive surfaces reviewed, data residency, runtime patchability, AI hard-limit, behavior analytics, observability, and audit boundaries, webhook, external-call, and dead-letter boundaries, cache authority and disclosure boundaries, assumptions checked, disclosure and retention paths, authorization, file, API response, third-party terms, and external-boundary notes, verification, and remaining security or privacy risk |
642
+ | Code review or implementation needs security-flow triage by tracing values from source to sink across authorization, object ownership, tenant scoping, IDOR or BOLA risk, list/detail/export scope, state-changing permissions, mass assignment, admin-only surfaces, cache keys, sort/filter/field injection inputs, ORM raw paths, shell wrappers, SSRF, file upload and extraction, path traversal, development server file serving, privileged test or browser UI APIs, XSS, CSRF, OAuth, reset tokens, JWTs, cookies, cryptography, logs, fail-open error handling, queued work, race conditions, or supply-chain and CI/CD paths | `.mustflow/skills/security-flow-review/SKILL.md` | User goal, current diff or target files, security claim, source-to-sink map, actor and resource map, read and write surfaces, framework escape hatches, dev-server host and filesystem policy, privileged test UI APIs, existing tests or scanner findings, and configured command intents | Server-side ownership checks, tenant-scoped queries, allowlisted updates, cache-key dimensions, URL and path validation, parser or renderer boundaries, dev-server read-only/write/execute gates, upload and extraction limits, token validation, cookie flags, fail-closed error handling, queue revalidation, idempotency, focused tests, and directly synchronized docs or templates | dangerous-keyword theater, authentication treated as authorization, UUID-as-lock assumption, list/detail scope drift, export over-disclosure, state change via raw body status, mass assignment, frontend-only admin gate, cache viewer leak, ORDER BY injection, ORM raw escape hatch, shell wrapper injection, SSRF, unsafe upload preview, Zip Slip, decompression bomb, path traversal, Windows ADS or 8.3 alias bypass, exposed dev-server file read, exposed test UI write or rerun API, XSS, CSRF, weak OAuth state, reset-token reuse, stale JWT claims, broad cookie domain, custom crypto, token or PII logging, missing security logs, fail-open permission, stale queued permission, duplicate money or entitlement effect, postinstall or CI secret exposure | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Security flow reviewed, source/sink/actor/resource/tenant map, authorization and ownership notes, input/file/network/browser/token/cookie/crypto/log/fail-open/async/race/cache/dev-server/test-UI/supply-chain findings, fixes or recommendation, tests or invariant evidence, verification, and remaining security-flow risk |
643
+ | Code, configuration, docs, templates, logs, telemetry, traces, baggage, behavior analytics, credentials, data flows, data residency policy, region or processing-location claims, AI-generated code, authentication, authorization, client-only permission checks, admin operations, audit logs, cache policy, cache-as-authority decisions, claim or policy data, comparison or affiliate data, user-generated content, sessions, tokens, uploads, downloads, signed URLs, API responses, webhooks, job queues, external API call records, external requests, third-party data-use terms, runtime security patch policy, vulnerability scanner advisories, development servers, test UI servers, deployment settings, dependencies, cryptography, secure transport, scanner gates, security invariants, or agent configuration affect secrets, personal data, retention, access control, vendor disclosure, or external disclosure | `.mustflow/skills/security-privacy-review/SKILL.md` | Changed files, sensitive surfaces, actor and resource owner, data-owner boundary, data residency and processing-location boundary, runtime patch boundary, dev-server host or privileged API boundary, AI gateway or budget boundary, server-side authorization rule, file upload/download boundary, API response field boundary, behavior analytics surface, trace or baggage surface, webhook or external-call record surface, admin operation surface, audit-log surface, cache visibility and authority policy, claim or affiliate policy surface, session or token surface, external target, dependency source, advisory exploit preconditions, third-party data-use or terms surface, cryptography or transport surface, scanner evidence, agent-tool permission, deployment setting, project secret and privacy rules, public or packaged surfaces, and command contract entries | Sensitive data handling, authorization, admin operations, data residency, runtime patchability, dev-server file-serving and privileged API gates, AI budget records, behavior analytics, observability identifiers, webhook receipts, external-call records, dead-letter records, audit logs, shared-cache behavior, cache-authority behavior, claim and affiliate disclosure, sessions, tokens, inputs, files, signed URLs, API responses, logs, receipts, generated state, docs, templates, package metadata, deployment settings, and reports | secret leak, personal-data exposure, access-control bypass, client-trusted role or owner value, unsafe admin action, private file exposure, exposed local tool API, over-broad API response, shared-cache leak, unsafe cache authority, unprovable data location, unpatchable runtime, devDependency alert dismissed despite network exposure, privacy-heavy telemetry, unsafe baggage propagation, unsafe webhook payload retention, unsafe external request, supply-chain drift, weak cryptography, insecure transport, protocol parser DoS, over-privileged agent, risky third-party terms, or misleading privacy claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Sensitive surfaces reviewed, data residency, runtime patchability, dev-server/test-UI exposure, AI hard-limit, behavior analytics, observability, and audit boundaries, webhook, external-call, and dead-letter boundaries, cache authority and disclosure boundaries, assumptions checked, disclosure and retention paths, authorization, file, API response, third-party terms, and external-boundary notes, verification, and remaining security or privacy risk |
644
644
  | Real or plausible secrets, tokens, credentials, private keys, passwords, session values, service-account values, connection strings, signing secrets, webhook secrets, certificate keys, recovery codes, or production-like credential material appear in files, artifacts, logs, command output, screenshots, fixtures, docs, templates, package output, caches, run receipts, or final reports | `.mustflow/skills/secret-exposure-response/SKILL.md` | Exposure surface, secret type without value, tracked/generated/public/package status, allowed remediation scope, rotation or revocation boundary, and command contract entries | Redaction, omission, placeholder replacement, docs, fixtures, templates, examples, package inputs, generated artifacts, and final report wording | repeated exposure, false fake-value claim, redaction mistaken for revocation, package leak, screenshot leak, history exposure, or secret printed in reports | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Exposure surfaces reviewed, secret value omitted, remediation made, remaining rotation/revocation/history/external risks, verification, and remaining exposure risk |
645
645
  | Security-sensitive behavior changes need abuse-case regression tests | `.mustflow/skills/security-regression-tests/SKILL.md` | Changed boundary, actors, resource ownership, state-changing route, token, file, cryptography, transport, scanner, or invariant behavior, business rule, and expected deny behavior | Test files and related security boundary source | false confidence, happy-path-only coverage, unsafe authorization, token, file, business-rule, cryptography, transport, deployment, or invariant coverage | `test`, `test_related`, `test_audit`, `lint`, `build` | Security boundary, abuse case, defensive test data, tests added or reused, and remaining risks |
646
646
  | Outside text, generated content, logs, issues, webpages, pasted prompts, agent rules, MCP/tool configuration, or AI context sources include instructions that could override repository rules, broaden tool access, leak data, or change scope | `.mustflow/skills/external-prompt-injection-defense/SKILL.md` | External text source, direct user request, repository instruction files, conflicting instruction, context sources, tool permission surface, hidden content evidence, and command contract entries | Prompts, fixtures, docs, tests, skills, templates, agent configs, tool configs, and reports that handle untrusted text | prompt injection, context leakage, scope drift, unsafe command authority, or over-broad tool permission | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | External sources reviewed, unsafe instructions neutralized, context and permission boundaries checked, safe requirements adapted, verification, and remaining prompt-injection risk |
@@ -662,7 +662,7 @@ routes. Event routes stay inactive until their event occurs.
662
662
  | DuckDB-specific embedded OLAP database use, `.duckdb` file ownership, concurrency, language bindings, Appender usage, CSV/Parquet/JSON ingestion, query determinism, timestamp behavior, memory and temp spill settings, profiling, indexes, CTEs, macros, or DuckDB runtime behavior is created, changed, reviewed, or reported | `.mustflow/skills/duckdb-code-change/SKILL.md` | DuckDB role, version or track, binding, extension inventory, file and process ownership, ingest/export shape, query shape, memory and temp spill settings, profiling evidence, changed files, and command contract entries | DuckDB SQL, schemas, query builders, connection setup, binding-specific code, ingest/export code, Appender code, settings, fixtures, tests, docs, and synchronized templates | SQLite-like OLTP assumption, native file multi-process write bug, hidden global connection, thread/process confusion, Appender visibility overclaim, CSV sampling loss, `ignore_errors` data loss, schema-drift memory spike, `SELECT *` Parquet scan, partition file explosion, missing `ORDER BY`, order-sensitive aggregate drift, TIMESTAMPTZ timezone surprise, memory-limit overclaim, temp spill disk-full, overwritten profiling output, ART-index theater, CTE materialization surprise, window memory spike, unsafe macro input, or unverified query-plan claim | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | DuckDB role/version/binding, file/process ownership, concurrency/Appender/import/export, deterministic SQL, memory/temp/profiling, query-plan evidence, verification, and remaining DuckDB risk |
663
663
  | Keyword search, full-text search, Elasticsearch, OpenSearch, Lucene-style indexing, search APIs, indexing pipelines, aliases, bulk indexing, refresh visibility, analyzers, mappings, synonyms, autocomplete, pagination, shard failures, search quality, or search performance are created, changed, reviewed, or failing | `.mustflow/skills/search-index-integrity-review/SKILL.md` | Symptom classification, source-to-search ledger, query contract ledger, index contract ledger, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Search canaries, indexing ledgers, bulk item error handling, alias checks, mapping and analyzer fixtures, exact-versus-full-text tests, tenant and permission filters, golden-set tests, synonym regression tests, pagination guards, query metrics, docs, and directly synchronized templates | cluster-green theater, batch-level bulk success, source/index count illusion, write alias drift, partial shard result, direct/API/UI mismatch, wrong keyword/text field, analyzer drift, synonym regression, rank eyeballing, profile misuse, query fingerprint leak, shard fan-out, cache-only benchmark, refresh overuse, segment merge backlog, disk watermark write block, deep pagination, oversized fetch, or private query/document leak | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Search index integrity reviewed, source-to-search/query/index/quality/performance/privacy ledgers, search findings, fix or recommendation, evidence level, verification, and remaining search-index risk |
664
664
  | Vector search, semantic search, RAG retrieval, embedding generation, preprocessing, chunking, vector schema, collection, namespace, tenant, named vector, metadata payload, filter, ANN index, exact-versus-approximate search, hybrid search, reranking, recall, latency, quantization, HNSW, IVF, pgvector, Qdrant, Milvus, Weaviate, OpenSearch kNN, or retrieval golden-set behavior is created, changed, reviewed, or failing | `.mustflow/skills/vector-search-integrity-review/SKILL.md` | Retrieval symptom, query contract ledger, ingestion ledger, quality ledger, performance ledger, privacy ledger, changed files, and command contract entries | Embedding and preprocessing versioning, vector validation, deterministic ids, namespace and tenant selection, metadata indexes, filter construction, exact-search checks, ANN parameters, reranker candidates, golden-set tests, synthetic fixtures, metrics, docs, and directly synchronized templates | vector-DB scapegoating, wrong embedding dimension, model revision drift, filter post-candidate loss, metadata type drift, tenant leak, duplicate chunk ids, stale deletes, metric or normalization mismatch, ANN tuning before exact-search proof, quantization recall loss, reranker candidate starvation, hybrid score misuse, deep ANN pagination, raw vector or document leak, or unmeasured p95 latency | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Vector search integrity reviewed, retrieval/query/ingestion/quality/performance/privacy ledgers, exact-versus-ANN and filter findings, fix or recommendation, evidence level, verification, and remaining vector-search risk |
665
- | Dependency versions, lockfiles, package-manager metadata, workspace constraints, runtime engines, peer dependencies, optional dependencies, security advisory fixes, generated dependency output, framework plugins, TypeScript compiler tracks, CI actions, Docker base images, package manager behavior, or toolchain versions are upgraded, downgraded, pinned, widened, regenerated, reviewed, or reported | `.mustflow/skills/dependency-upgrade-review/SKILL.md` | Dependency name, old and new versions or ranges, direct or transitive path, ecosystem and package manager, declaration files, lockfiles, runtime or toolchain files, advisory or release-note evidence, generated outputs, callers, docs, package output, Docker, CI, or TypeScript compiler-track surfaces, and command contract entries | Package declarations, lockfiles, generated outputs, compatibility code, tests, docs, package metadata, Docker or CI files, TypeScript compiler-track notes, and directly synchronized examples | lockfile churn, hidden transitive replacement, peer or engine break, module-format drift, native or optional package break, framework or generator output drift, unsafe broad security update, weakened tests, Docker or CI runtime drift, TS7 RC over-adoption, TS7 nightly over-adoption, or unreviewed supply-chain change | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Upgrade reason, ecosystem surface, direct and transitive graph changes, compatibility classification, runtime/peer/engine/module/feature/platform/generated-output/compiler-track risks, synchronized surfaces, verification, and remaining dependency-upgrade risk |
665
+ | Dependency versions, lockfiles, package-manager metadata, workspace constraints, runtime engines, peer dependencies, optional dependencies, security advisory fixes, vulnerability scanner alerts, generated dependency output, framework plugins, dev servers, test runners, TypeScript compiler tracks, CI actions, Docker base images, package manager behavior, or toolchain versions are upgraded, downgraded, pinned, widened, regenerated, reviewed, or reported | `.mustflow/skills/dependency-upgrade-review/SKILL.md` | Dependency name, old and new versions or ranges, direct or transitive path, ecosystem and package manager, declaration files, lockfiles, runtime or toolchain files, advisory or release-note evidence, exploit preconditions, generated outputs, callers, docs, package output, Docker, CI, dev-server or test-UI exposure, protocol role, or TypeScript compiler-track surfaces, and command contract entries | Package declarations, lockfiles, generated outputs, compatibility code, tests, docs, package metadata, Docker or CI files, dev-server/test-runner config notes, TypeScript compiler-track notes, and directly synchronized examples | lockfile churn, hidden transitive replacement, peer or engine break, module-format drift, native or optional package break, framework or generator output drift, devDependency advisory dismissed despite exposure, unsafe broad security update, weakened tests, Docker or CI runtime drift, protocol DoS misclassified, TS7 RC over-adoption, TS7 nightly over-adoption, or unreviewed supply-chain change | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Upgrade reason, ecosystem surface, direct and transitive graph changes, compatibility classification, runtime/peer/engine/module/feature/platform/generated-output/compiler-track risks, advisory exploit preconditions, synchronized surfaces, verification, and remaining dependency-upgrade risk |
666
666
  | Dependency, package, runtime, framework, tool, command, plugin, service, platform capability, supported-version policy, security patch path, ecosystem maturity claim, maintainer-risk assumption, runtime portability claim, edge or serverless compatibility claim, critical-path library choice, package script, lifecycle hook, binary download, lockfile, audit result, or supply-chain-sensitive dependency surface is assumed, added, removed, imported, invoked, installed, audited, or documented | `.mustflow/skills/dependency-reality-check/SKILL.md` | Assumed dependency or capability, declaration files, version or feature expectation, role criticality, supported-version or end-of-life evidence, patchability expectation, runtime compatibility boundary, maintainer and ecosystem evidence when available, lockfile entry, package script or lifecycle hook, audit or provenance evidence, and relevant command intents | Package metadata, lockfiles, imports, scripts, command contracts, docs, tests, runtime policy notes, portability notes, and reports | unavailable dependency, hallucinated or lookalike package, fragile single-maintainer core dependency, experimental technology in a survival path, unsupported runtime, unclear security patch path, runtime-specific API leakage into core logic, stale version claim, lifecycle script risk, audit suppression, lockfile drift, or install guidance mismatch | `changes_status`, `changes_diff_summary`, `build`, `test_release`, `mustflow_check` | Dependency checked, ecosystem and maintainer-risk boundary reviewed, supported-version, patchability, and runtime-portability boundary reviewed, supply-chain surface reviewed, declarations synchronized, verification, and remaining dependency risk |
667
667
  | Generated or edited code, configuration, CI workflows, package metadata, install instructions, examples, Docker images, framework setup, runtime declarations, toolchain declarations, TypeScript compiler-track references, Go release or framework references, Java/JDK GA, LTS, JEP, JVM, GC, or toolchain references, Rust release or MSRV references, or migration-sensitive snippets introduce explicit external version references, action refs, package ranges, runtime versions, framework majors, Docker image tags, or scaffold commands that may be stale | `.mustflow/skills/version-freshness-check/SKILL.md` | Versioned reference, owning files, repository version policy, approved freshness source, compatibility context, migration risk, TypeScript compiler track, Go toolchain/framework track, Java JDK/toolchain/bytecode/JEP track, or Rust MSRV/toolchain track when relevant, and command contract entries | Package metadata, lockfiles, CI workflows, Dockerfiles, runtime files, framework config, docs, examples, templates, tests, and version-decision reports | stale default version, false latest claim, accidental major migration, repository policy mismatch, unsupported generated example, TypeScript RC/nightly/API-track confusion, Java latest-GA/LTS/runtime/JEP/preview/incubator confusion, Rust stable/nightly/MSRV confusion, floating-tag drift, or unverified security/support claim | `changes_status`, `changes_diff_summary`, `build`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Versioned surfaces checked, repository policy and freshness source, selected version track, compatibility classification, TypeScript stable/RC/nightly/API-track, Go runtime/framework, Java GA/LTS/runtime/JEP/toolchain, and Rust stable/nightly/MSRV split when relevant, approval need, synchronized surfaces, verification, and remaining version-freshness risk |
668
668
  | External systems, protocols, SDKs, databases, webhooks, queues, files, object storage, signed upload or download URLs, caches, API response models, framework requests or responses, server actions, route handlers, edge functions, worker handlers, AI models, browser storage, search engines, analytics tools, email platforms, no-code tools, observability backends, trace or request context, provider data, or volatile component implementations cross the core boundary or need stable port/adapter translation, change isolation, error mapping, timeout, retry, circuit-breaker, bulkhead, idempotency, reconciliation, security, core-state ownership, vendor portability, or observability handling | `.mustflow/skills/adapter-boundary/SKILL.md` | External system or protocol, inbound/outbound direction, delivery boundary, internal use case, local port/adapter patterns, provider risk, provider failure policy, core-state ownership risk, vendor portability risk, observability identifier policy, API contract risk, change-isolation ledger, preserved consumer contract, changed files, and command contract entries | Ports, adapters, mappers, controllers, workers, stores, gateways, response mappers, telemetry mappers, timeout and retry policies, circuit breakers, bulkhead boundaries, tests, fixtures, assembly wiring, and directly synchronized docs or templates | provider leakage, caller churn from adapter-only changes, framework business-rule leakage, telemetry backend leakage, storage-key leakage, screen-shaped API coupling, pass-through wrapper, SaaS dashboard as truth source, search or analytics policy leakage, queue contract leakage, unclassified external failure, duplicate side effect, unsafe retry, missing timeout, missing circuit breaker, missing bulkhead, unresolved unknown provider outcome, broken identifier propagation, secret or personal-data leak, or untested integration drift | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | Boundary classification, change-isolation ledger, preserved consumer contract, delivery adapter responsibility, internal port, provider containment, core-state ownership, vendor portability, validation and mapping, API response mapping, observability identifier flow, timeout/retry/circuit-breaker/bulkhead/idempotency handling, reconciliation behavior, security notes, verification, and remaining provider risk |
@@ -670,7 +670,7 @@ routes. Event routes stay inactive until their event occurs.
670
670
  | Tauri frontend invokes, Rust commands, capabilities, permissions, scopes, plugins, filesystem, dialog, shell, opener, updater, sidecar, mobile native permissions, Tauri bundling targets, release package formats, or native desktop CI build matrices are created or changed | `.mustflow/skills/tauri-code-change/SKILL.md` | Frontend call sites, Tauri config, Rust commands, capability and permission files, plugin config, bundle targets, release matrix evidence, changed files, and command contract entries | Tauri frontend, Rust commands, capabilities, permissions, scopes, plugins, bundle target narrowing, package target notes, tests, and docs | broad native permission, untrusted IPC input, filesystem escape, shell or updater risk, WebView/native boundary drift, all-target bundling surprise, cold Cargo cache cost, duplicated macOS packaging jobs, or long-retention CI artifacts posing as release assets | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | IPC, permission, scope, filesystem, shell, updater, native boundary, bundle target, release matrix, artifact retention, verification, and remaining Tauri risk |
671
671
  | Wails v3 applications, Go services, generated bindings, TypeScript runtime calls, windows, menus, system tray, dialogs, events, frontend bridge payloads, WebView platform behavior, Taskfile or build config, signing, packaging, platform targets, native desktop CI build matrices, custom protocols, file associations, server builds, or Wails-related tests are created, changed, reviewed, or upgraded | `.mustflow/skills/wails-code-change/SKILL.md` | Wails version track, Go module and frontend package metadata, generated bindings, app entry point, service/window/event/menu/tray/dialog/build/package evidence, platform target and release matrix evidence, changed files, and command contract entries | Wails app assembly, Go services, frontend bridge calls, generated bindings, windows, events, menus, tray, dialogs, WebView platform behavior, platform packaging, target narrowing, tests, and docs | Electron or Wails v2 migration drift, accidental exported RPC, binding or runtime version drift, shared-service race, unsafe frontend input, oversized bridge payload, event leak or broadcast, WebView platform mismatch, packaging/signing drift, all-platform PR packaging, duplicated macOS packaging jobs, or long-retention CI artifacts posing as release assets | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Wails version/app/service/bridge/binding/window/event/menu/tray/dialog/platform packaging, release matrix, artifact retention notes, verification, and remaining Wails risk |
672
672
  | File path handling, cross-platform path behavior, path helpers, safe filesystem wrappers, clone or checkout destinations, scaffold roots, temp or cache paths, atomic writes, locks, archive extraction, uploads, downloads, scanners, CLI/API/schema path contracts, snapshots, generated outputs, or package artifact paths are created, changed, reviewed, or reported | `.mustflow/skills/file-path-cross-platform-change/SKILL.md` | Path ledger, trust classes, accepted path representation, base root, path helpers, safe filesystem wrappers, clone/checkout/scaffold/install/extract outputs, staging and promotion policy, temp/cache helpers, lock policy, archive policy, upload/download policy, scanner policy, CLI/API/schema/snapshot/generated/package surfaces, platform expectations, failure taxonomy, and command contract entries | Path validators, helpers, wrappers, schemas, CLI/API parsing, snapshots, fixtures, docs, tests, generated-output paths, package artifact paths, clone or scaffold destinations, archive extraction, scanner bounds, temp/cache handling, locks, and cleanup code | path traversal, base containment bypass, drive-relative path bug, reserved-name bug, case-collision bug, Unicode-collision bug, Git checkout path-length failure misreported as network or auth, unsafe archive extraction, non-atomic write claim, stale lock, scanner loop, partial-output cleanup data loss, user-selected destination deletion, path contract drift, or package artifact path drift | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path contract, path ledger, trust classes, root policy, preflight/staging/promotion decisions, Windows/macOS/Linux/archive/upload/download/scanner/lock/temp/cache/atomic/cleanup decisions, failure taxonomy, synchronized contract surfaces, verification, and remaining path risk |
673
- | File paths, directories, symlinks, real paths, traversal, atomic writes, file copies, generated outputs, temporary files, clone or checkout materialization, cleanup, or Windows/POSIX filesystem behavior are created, changed, reviewed, or reported | `.mustflow/skills/cross-platform-filesystem-safety/SKILL.md` | Path inputs, base directory, trust boundary, symlink policy, write or cleanup strategy, clone/checkout/scaffold/install/extract path budget, app-owned staging boundary, platform expectations, failure taxonomy, and command contract entries | Path validation, file helpers, copy/update/delete code, clone/scaffold/archive cleanup code, scan bounds, fixtures, tests, docs, and templates | path traversal, symlink escape, unsafe overwrite, platform-only behavior, stale output, path-length or filename-length misclassification, watcher/resource misclassification, or cleanup data loss | `changes_status`, `changes_diff_summary`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path trust classes, root boundary, symlink/write/delete/scan decisions, preflight and staging boundaries, clone/scaffold/extract classification, platform assumptions, verification, and remaining filesystem risk |
673
+ | File paths, directories, symlinks, real paths, traversal, NTFS alternate data streams, Windows 8.3 short names, Windows namespace prefixes, atomic writes, file copies, generated outputs, temporary files, clone or checkout materialization, cleanup, or Windows/POSIX filesystem behavior are created, changed, reviewed, or reported | `.mustflow/skills/cross-platform-filesystem-safety/SKILL.md` | Path inputs, base directory, trust boundary, symlink policy, write or cleanup strategy, clone/checkout/scaffold/install/extract path budget, app-owned staging boundary, platform expectations, ADS and short-name behavior, failure taxonomy, and command contract entries | Path validation, file helpers, copy/update/delete code, clone/scaffold/archive cleanup code, scan bounds, dev-server or file-serving deny checks, fixtures, tests, docs, and templates | path traversal, symlink escape, unsafe overwrite, Windows ADS bypass, 8.3 short-name bypass, namespace-prefix bypass, platform-only behavior, stale output, path-length or filename-length misclassification, watcher/resource misclassification, or cleanup data loss | `changes_status`, `changes_diff_summary`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Path trust classes, root boundary, symlink/write/delete/scan decisions, ADS and short-name handling, preflight and staging boundaries, clone/scaffold/extract classification, platform assumptions, verification, and remaining filesystem risk |
674
674
  | Child processes, shell or argv execution, built-in command reruns, Git/package-manager/scaffolder failures, timeouts, process trees, output limits, streaming, environment policy, command eligibility, failure classification, command-line length limits, or execution receipts are created, changed, reviewed, or reported | `.mustflow/skills/process-execution-safety/SKILL.md` | Execution path, timeout, output limit, stdin, argv and shell command-length budget, environment, cwd, process tree behavior, failure taxonomy, receipt and write-tracking expectations, and command contract entries | Process execution code, process-tree helpers, output buffers, environment creation, eligibility checks, failure classifiers, receipts, tests, and docs | runaway process, unbounded output, leaked environment, argv-too-long failure, shell-command-too-long failure, inconsistent JSON/text execution, false cleanup claim, Git checkout path failure misreported as network or auth, blind retry, diagnostic loss, or unreliable receipt | `changes_status`, `changes_diff_summary`, `test_related`, `test_release`, `mustflow_check` | Execution surface, timeout/output/environment/process-tree boundaries, argv and shell length handling, failure classification, diagnostic preservation, receipt consistency, tests, verification, and remaining process risk |
675
675
  | Core or application logic creates, imports, resolves, or hides external dependencies such as databases, SDKs, clocks, random generators, configuration, loggers, framework objects, filesystems, queues, AI clients, or payment/email providers | `.mustflow/skills/dependency-injection/SKILL.md` | Target code area, hidden dependency, intended business capability, layer ownership, local port/adapter patterns, changed files, and command contract entries | Core logic signatures, ports, adapters, assembly roots, tests, and directly synchronized docs or templates | hidden global state, untestable business logic, provider leakage, lifecycle drift, or service-locator coupling | `changes_status`, `changes_diff_summary`, `test_related`, `test`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | Dependency boundary, direct dependencies found, injection style, ports/adapters, assembly boundary, tests or fakes, verification, and remaining dependency leakage |
676
676
  | Code, data, schema, configuration, file layout, template, content frontmatter, file-to-database, URL, slug, lifecycle, asset, claim or fact extraction, API projection compatibility, public identifier changes, provider id mappings, event-schema changes, observability identifier continuity, deployment-state reproduction, generated-state, backup or restore proof, semantic export, import, platform exit, or cache migrations are planned, edited, documented, or reported | `.mustflow/skills/migration-safety-check/SKILL.md` | Source state, target state, migration surface owner, identity, lifecycle, asset, claim, export/import reconstruction shape, URL continuity, API projection expectations, public id mapping, provider id mapping, event schema versioning, observability identifier continuity, deployment-state reproduction, cache key versioning, restore evidence, idempotency, rollback, dry-run, compatibility, and command contract entries | Migration plans, compatibility notes, lock metadata, docs, tests, templates, generated state, redirects, assets, exports, imports, deployment notes, observability continuity notes, caches, restore notes, and reports | irreversible migration, data loss, incomplete export, broken links, identity drift, provider-id lock-in, lost asset originals, API contract break, event-schema ambiguity, broken traceability, dashboard-only operating state, cache-key drift, untested restore, or false migration-success claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Migration surface, source and target state, identity, lifecycle, asset, claim, URL, API, event, observability, deployment-state, cache, restore, and export/import continuity, idempotency, rollback, metadata updates, verification, and remaining migration risk |
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.async-timing-boundary-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 1
5
+ revision: 2
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: async-timing-boundary-review
9
- description: Apply this skill when code, tests, docs, or reports add, change, review, justify, or debug arbitrary sleeps, fixed delays, `setTimeout`, timer waits, event-loop yields, microtask or next-tick waits, render-frame or after-paint waits, CI waits, readiness polling, startup waits, file flush waits, worker readiness, Promise completion claims, async one-time side effects, or eventual-consistency waits across UI, Node, filesystems, workers, databases, queues, search indexes, external APIs, devices, or tests.
9
+ description: Apply this skill when code, tests, docs, or reports add, change, review, justify, or debug arbitrary sleeps, fixed delays, `setTimeout`, timer waits, event-loop yields, microtask or next-tick waits, render-frame or after-paint waits, CI waits, readiness polling, startup waits, file flush waits, worker readiness, Promise completion claims, async one-time side effects, response ordering, generation or version guards, duplicate or missing execution, cancellation state, outbox or inbox handoffs, or eventual-consistency waits across UI, Node, filesystems, workers, databases, queues, search indexes, external APIs, devices, or tests.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -43,6 +43,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
43
43
  - Code waits for server readiness, health, listen callbacks, database commit visibility, replica lag, search indexing, queue ack, webhook delivery, external eventual consistency, container readiness, or hardware/device ready signals.
44
44
  - A test is flaky, slow, or CI-only because local hardware crosses a timing boundary that CI, background tabs, containers, low-end devices, or loaded runners do not.
45
45
  - A report says a side effect runs "only once" or that an async operation is "awaited" and the scope of once or the represented completion signal is unclear.
46
+ - A path relies on latest-request-wins, request cancellation, async job status, queue redelivery, event publication, or background refresh ordering and needs proof that late, duplicate, dropped, timed-out, or partially failed work cannot update current state incorrectly.
46
47
 
47
48
  <!-- mustflow-section: do-not-use-when -->
48
49
  ## Do Not Use When
@@ -61,6 +62,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
61
62
  - Boundary class: time contract, event-loop/task/microtask boundary, render/frame/paint boundary, framework lifecycle boundary, filesystem/stream boundary, process/worker boundary, database/transaction boundary, queue/index/external consistency boundary, or device/protocol boundary.
62
63
  - Completion signal available in the codebase: event, callback, listener, promise that resolves on real completion, `finish`, `close`, `fsync`, atomic rename, health check, listen callback, ack, status endpoint, observer, transition event, cancellation token, latch, barrier, fake clock, or deterministic scheduler.
63
64
  - Caller ownership: whether every caller awaits the returned Promise or whether the async work is fire-and-forget, debounced, event-handler-owned, framework-owned, or lifecycle-owned.
65
+ - Operation identity and ordering model: operation id, entity id, attempt, causation id, generation, version, sequence, cancellation reason, idempotency key, and whether the apply step checks that the result still belongs to the current state.
64
66
  - Test evidence: current tests, fake timers, controlled promises, barriers, polling utilities, readiness probes, stress tests, CI logs, or missing configured verification.
65
67
 
66
68
  <!-- mustflow-section: preconditions -->
@@ -110,15 +112,25 @@ The review question is not "how many milliseconds are safe?" It is "is the code
110
112
  6. Define "once" by scope.
111
113
  - Name the scope: call, component mount, route lifetime, tab, process, deployment, worker, queue message, transaction retry, cron tick, or durable resource.
112
114
  - Make side effects idempotent when retries, remounts, StrictMode, HMR, reconnects, queue redelivery, transaction retries, multiple tabs, serverless cold starts, or rolling deploys can repeat them.
113
- 7. Review tests.
115
+ 7. Guard stale async results before they apply.
116
+ - For latest-request-wins flows, compare generation, version, etag, sequence, or current operation owner immediately before mutating UI, cache, database, or external state.
117
+ - Treat cancellation as a result state such as user-cancelled, timeout-cancelled, superseded, parent-cancelled, or shutdown-cancelled. Do not collapse cancellation into generic failure that may trigger a wrong retry.
118
+ - Requests, jobs, and callbacks should carry operation identity such as operation id, attempt, causation id, entity id, and state version so late success, duplicate delivery, and stale callbacks can be ignored and explained.
119
+ 8. Model async work as transitions, not as a loose sequence of logs.
120
+ - Jobs should have explicit states such as scheduled, running, succeeded, failed, cancelled, and dead when those states drive behavior.
121
+ - Reject impossible transitions such as succeeded back to running, cancelled work updating current state, or running work with no owner heartbeat when those risks matter.
122
+ - When a DB write and event publish must move together, use outbox-style publication and inbox or dedupe handling on consumers instead of assuming the two effects are one atomic operation.
123
+ - Prefer per-key serialization for same entity, account, document, order, or user work instead of globally serializing unrelated work or leaving conflicting same-key work unordered.
124
+ 9. Review tests.
114
125
  - Prefer fake timers for timer contracts, controlled promises for async boundaries, barriers/latches for concurrency, readiness probes for services, and direct event simulation for UI or streams.
115
126
  - Treat fixed sleeps as weak stress evidence only. They may supplement deterministic proof, but they should not be the main assertion.
116
127
  - For local-fast/CI-slow differences, separate cold cache, disk, CPU throttling, memory, network, coverage, container, artifact, and shared-resource pressure before raising sleep durations.
117
- 8. Preserve timeout and failure semantics.
128
+ - Exercise response reorder, duplicate, drop, timeout, late success, partial failure, and cancellation-after-completion paths when the changed boundary claims ordering, freshness, or exactly-once behavior.
129
+ 10. Preserve timeout and failure semantics.
118
130
  - Replacing a fixed sleep with a wait must not create an unbounded hang.
119
131
  - Keep deadline ownership clear when nested timeouts exist.
120
132
  - Report missing cancellation, poor diagnostics, or unavailable one-shot verification instead of claiming the wait is proven.
121
- 9. Choose verification by changed boundary.
133
+ 11. Choose verification by changed boundary.
122
134
  - Use focused related tests for helper behavior, lint/build for type or API shape, docs validation for skill/docs changes, release tests for installed template or package surfaces, and `mustflow_check` for workflow documents.
123
135
  - Do not invent raw browser, server, DB, queue, device, or CI commands outside the command contract.
124
136
 
@@ -128,6 +140,7 @@ The review question is not "how many milliseconds are safe?" It is "is the code
128
140
  - Every fixed wait is classified as a true time contract, replaced with a completion signal, converted to bounded polling, or reported as residual risk.
129
141
  - The exact completion condition and boundary crossed by the old delay are named.
130
142
  - Promise, "once", event-loop, render, filesystem, process, worker, database, queue, external consistency, and test claims are checked where relevant.
143
+ - Latest-request-wins, generation or version guards, cancellation states, duplicate delivery, late success, outbox or inbox handoffs, and per-key ordering are checked where relevant.
131
144
  - Remaining waits have explicit reason, bound, cancellation, and diagnostic behavior when possible.
132
145
  - Verification covers the changed timing boundary or reports the missing configured intent.
133
146
 
@@ -164,6 +177,7 @@ Prefer the narrowest configured intent that proves the changed timing, readiness
164
177
  - Classification: time contract, state readiness, polling, or residual risk
165
178
  - Completion signal chosen or missing
166
179
  - Event-loop, render, I/O, worker, DB, queue, external, device, Promise, and once-scope checks where relevant
180
+ - Operation identity, generation or version apply guards, cancellation state, duplicate or late result handling, outbox or inbox handoff, and per-key ordering checks where relevant
167
181
  - Fixed waits removed, retained, or bounded
168
182
  - Tests or verification evidence
169
183
  - Command intents run
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: skill.backend-log-evidence-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 3
5
+ revision: 4
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: backend-log-evidence-review
@@ -56,7 +56,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
56
56
 
57
57
  - Backend path under review: request route, command handler, worker, scheduler, webhook, migration, script, repository method, or external adapter.
58
58
  - Event contract: stable `event_name`, event family, `message` as secondary prose, schema version, severity or level, event timestamp, observed timestamp when collection delay matters, service or resource identity, environment, region, service version, and release or git SHA already available.
59
- - Correlation model: request id, trace id, span id, correlation id, causation id, job id, message id, batch run id, tenant id, user or actor id, resource id, provider request id, and safe business identifiers already available.
59
+ - Correlation model: request id, trace id, span id, correlation id, causation id, job id, message id, batch run id, tenant id, user or actor id, resource id, provider request id, attempt, feature flag, deployment version, and safe business identifiers already available.
60
60
  - Request lifecycle evidence: start log, finish log, status code or result type, outcome, reason code, duration measured from a monotonic clock when possible, main operation name, important input identifiers, and final resource identifiers.
61
61
  - Error evidence: thrown errors, catches, wrappers, causes, stack preservation, error categories, public versus internal messages, and log boundary ownership.
62
62
  - Decision evidence: branches, early returns, validation failures, auth decisions, feature flags, state transitions, cache paths, retry decisions, timeout classes, and fallback decisions.
@@ -93,6 +93,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
93
93
  - Treat logs as event records. Require a stable `event_name`; keep human prose in `message` as secondary, not as the alert or dashboard contract.
94
94
  - Keep event names stable and moderately broad: use `auth.login.failed` plus fields such as `failure_reason`, `client_type`, and `identity_provider` instead of encoding every attribute into the name.
95
95
  - Check schema version, severity or level, event timestamp, observed timestamp when useful, service name, service version, git SHA or release id, environment, region, and resource identity when local conventions expose them.
96
+ - For hard failures, prefer a diagnostic envelope that can be joined across logs, traces, profiler windows, queues, DB writes, cache keys, external dependency calls, feature flags, and deployment versions.
96
97
  2. Check request start logs.
97
98
  - A route-only log is weak evidence.
98
99
  - Require safe fields such as request id, trace id, span id, correlation id, tenant id, actor or user id when allowed, operation name, route template, route pattern instead of full URL, query key summary or query hash, and key resource identifiers.
@@ -170,7 +171,11 @@ The review question is: "If this backend path fails, times out, retries, silentl
170
171
  - Queue size alone is weak. Check queue utilization, oldest queued event age, enqueue failures, exporter failures, receiver refusals, DLQ size, and DLQ oldest age.
171
172
  - Parser failures, mapping conflicts, multiline splits, log rotation, container restart, pod deletion, disk buffer exhaustion, and retention or rollover drift can silently erase the evidence operators think they have.
172
173
  - If pipeline checks require live collectors, sinks, dashboards, or production search, report them as manual-only instead of claiming log evidence survived.
173
- 19. Require evidence.
174
+ 19. Compare normal and failing event trails when a path is hard to localize.
175
+ - Treat the final error log as the place the failure surfaced, not automatically as the cause.
176
+ - If a successful and failing execution are available, compare first divergence in event name, span order, cache hit or miss, DB row count, retry branch, queue shard, external latency, feature flag, release id, and actor or tenant slice.
177
+ - When trace data is sampled out, require fallback log evidence for major span boundaries, operation duration, outcome, reason code, and correlation ids.
178
+ 20. Require evidence.
174
179
  - Prefer focused tests, log fixtures, snapshot assertions, redaction tests, source-level guards, or local logger contract tests for stable event names and fields.
175
180
  - Prefer tests that pin `event_name`, schema version, required fields, redaction, bounded reason codes, and message-independent query fields rather than exact prose.
176
181
  - If logs depend on runtime middleware, production log routing, sink configuration, or manual log search outside the repository, report that evidence as manual-only.
@@ -183,6 +188,7 @@ The review question is: "If this backend path fails, times out, retries, silentl
183
188
  - Missing start or finish logs, message-only contracts, unstable event names, missing schema version, missing trace or span id, missing correlation or causation id, string-only errors, lost causes, missing external-call before and after logs, raw provider body logs, missing affected-row counts, invisible transaction or state transitions, silent early returns, attempt-free retries, duration-free timeouts, enqueue or consume gaps, broken async correlation, empty batch summaries, missing auth or validation reasons, ordinary logs for audit events, cache or lock blind spots, idempotency ambiguity, feature flag opacity, release or config opacity, secret-bearing config logs, migration `done` logs, swallowed async errors, all-info or all-error severity, duplicate error spam, prose-only messages, high-cardinality indexed fields, log injection exposure, unsafe sampling, and missing identifiers are fixed or reported.
184
189
  - Named review smells such as broken async request id, auth or validation failures, cache hits or misses, lock acquisition, idempotency outcomes, config startup summaries, release and migration event gaps, migration dry-run and apply logs, message-based dashboards, prose-only log, and sink-side-only masking are fixed or reported when present.
185
190
  - Log changes are backed by local logger conventions, tests, fixtures, source review evidence, or labeled as manual-only or missing.
191
+ - Hard-failure log evidence can be joined with trace, profiler, queue, DB, cache, dependency, feature flag, and deployment context when those surfaces exist.
186
192
 
187
193
  <!-- mustflow-section: verification -->
188
194
  ## Verification
@@ -215,6 +221,7 @@ Prefer the narrowest configured checks that cover the changed logging contract a
215
221
 
216
222
  - Backend log boundary reviewed
217
223
  - Reconstruction question, event contract, request lifecycle, correlation and causation, error and cause preservation, external API, database write, transaction, state transition, early return, retry, timeout, queue or async handoff, batch or migration, audit, auth, validation, cache, lock, idempotency, feature flag, release, config, pipeline survival, level ownership, structure, cardinality, sampling, log-injection safety, redaction, and test evidence findings
224
+ - Diagnostic envelope and normal-versus-failing event trail findings
218
225
  - Log fixes made or recommended
219
226
  - Evidence level: configured-test evidence, log fixture evidence, source review evidence, manual-only, missing, or not applicable
220
227
  - Command intents run