mustflow 2.25.1 → 2.25.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -404,6 +404,8 @@ mf run maintainer_check_node
404
404
  mf run docs_validate_fast
405
405
  mf run docs_validate
406
406
  mf run mustflow_check
407
+ mf run release_npm_version_available
408
+ mf run release_npm_published_verify
407
409
  ```
408
410
 
409
411
  The Bun scripts remain available for human maintainers and release packaging. `test_fast` runs the fast CLI regression baseline, `test_related` selects tests from changed files and falls back to the fast baseline, and both use 8 Node test workers by default. Set `MUSTFLOW_TEST_CONCURRENCY=1`, `2`, or another positive integer to tune those workers on local machines. `test_release` keeps package metadata and packaging checks out of routine local edits. `test_coverage` runs the fast CLI baseline through Node's built-in coverage report with no enforced threshold; set `MUSTFLOW_TEST_COVERAGE_CONCURRENCY=1`, `2`, or another positive integer to adjust its worker count. `lint` and test-audit are configured as narrow repository-local gates. `docs_validate_fast` checks documentation navigation and localized content links without building the entire static site; `docs_validate` performs the full static documentation build, search index, and sitemap gate for release-sensitive changes.
@@ -416,7 +418,7 @@ Run the full release check before publishing:
416
418
  bun run release:check
417
419
  ```
418
420
 
419
- `release:check` validates the CLI, builds the documentation site, packs the npm tarball, installs it into a temporary project, and runs the public `mf` workflow. Maintainer npm publishing uses the `Publish npm package` GitHub Actions workflow from a published GitHub Release. The release tag must match the `package.json` version, with an optional leading `v`. npm Trusted Publishing must be configured for the workflow before maintainers publish through it.
421
+ `release:check` validates the CLI, builds the documentation site, packs the npm tarball, installs it into a temporary project, and runs the public `mf` workflow. Maintainer npm publishing uses the `Publish npm package` GitHub Actions workflow from a published GitHub Release. The release tag must match the `package.json` version, with an optional leading `v`. Run `mf run release_npm_version_available` before creating the tag and `mf run release_npm_published_verify` after the publish workflow completes. npm Trusted Publishing must be configured for the workflow before maintainers publish through it.
420
422
 
421
423
  ## Documentation site
422
424
 
@@ -577,7 +577,7 @@ export const hiMessages = {
577
577
  "doctor.diagnostic.localIndex": "स्थानीय इंडेक्स",
578
578
  "doctor.diagnostic.latestRun": "नवीनतम रन",
579
579
  "docs.help.summary": "LLM creation या modification के बाद prose review की जरूरत वाले documents track करें.",
580
- "docs.help.option.all": "Approved और ignored documents भी शामिल करें",
580
+ "docs.help.option.all": "स्वीकृत और अनदेखे documents भी शामिल करें",
581
581
  "docs.help.option.status": "Review status से filter करें",
582
582
  "docs.help.option.reason": "Document को review क्यों चाहिए यह record करें",
583
583
  "docs.help.option.origin": "Review need का source record करें, जैसे llm_modified",
@@ -595,12 +595,12 @@ export const hiMessages = {
595
595
  "docs.review.wrote": "लिखा",
596
596
  "docs.review.added": "जोड़ा",
597
597
  "docs.review.commented": "टिप्पणी जोड़ी गई",
598
- "docs.review.marked.approved": "Approved",
598
+ "docs.review.marked.approved": "स्वीकृत",
599
599
  "docs.review.marked.needs_human": "needs_human mark किया",
600
- "docs.review.marked.ignored": "Ignored",
600
+ "docs.review.marked.ignored": "अनदेखा किया गया",
601
601
  "docs.error.missingTopic": "docs topic missing है",
602
602
  "docs.error.unknownTopic": "Unknown docs topic: {topic}",
603
- "docs.error.unknownAction": "Unknown docs review action: {action}",
603
+ "docs.error.unknownAction": "अज्ञात docs review action: {action}",
604
604
  "docs.error.missingPath": "Document path missing है",
605
605
  "docs.error.missingComment": "Review comment missing है",
606
606
  "docs.error.emptyComment": "Review comment खाली नहीं हो सकता",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mustflow",
3
- "version": "2.25.1",
3
+ "version": "2.25.2",
4
4
  "description": "Agent workflow documents and CLI for mustflow repository roots.",
5
5
  "type": "module",
6
6
  "license": "MIT-0",
@@ -19,6 +19,10 @@ kill_after_seconds = 5
19
19
  env_policy = "minimal"
20
20
  env_allowlist = []
21
21
 
22
+ [resources.local_index_cache]
23
+ description = "Generated mustflow SQLite local index under .mustflow/cache/."
24
+ concurrency = "exclusive_writer"
25
+
22
26
  [intents.test]
23
27
  status = "unknown"
24
28
  description = "Run the test suite."
@@ -200,6 +204,23 @@ network = false
200
204
  destructive = false
201
205
  required_after = ["clean_mustflow_update_plan", "template_update_apply"]
202
206
 
207
+ [intents.local_index]
208
+ status = "configured"
209
+ kind = "mustflow_builtin"
210
+ lifecycle = "oneshot"
211
+ run_policy = "agent_allowed"
212
+ description = "Create or refresh the generated mustflow SQLite local index."
213
+ argv = ["mf", "index"]
214
+ cwd = "."
215
+ timeout_seconds = 300
216
+ stdin = "closed"
217
+ success_exit_codes = [0]
218
+ writes = [".mustflow/cache/**"]
219
+ effects = [{ type = "write", mode = "replace", path = ".mustflow/cache/**", lock = "local_index_cache", concurrency = "exclusive" }]
220
+ network = false
221
+ destructive = false
222
+ required_after = ["structure_change", "directory_change"]
223
+
203
224
  [intents.repo_map]
204
225
  status = "configured"
205
226
  kind = "mustflow_builtin"
@@ -56,7 +56,7 @@ translations = {}
56
56
  [documents."skills.index"]
57
57
  source = "locales/en/.mustflow/skills/INDEX.md"
58
58
  source_locale = "en"
59
- revision = 85
59
+ revision = 87
60
60
  translations = {}
61
61
 
62
62
  [documents."skill.adapter-boundary"]
@@ -191,6 +191,12 @@ source_locale = "en"
191
191
  revision = 2
192
192
  translations = {}
193
193
 
194
+ [documents."skill.cpp-code-change"]
195
+ source = "locales/en/.mustflow/skills/cpp-code-change/SKILL.md"
196
+ source_locale = "en"
197
+ revision = 1
198
+ translations = {}
199
+
194
200
  [documents."skill.dart-code-change"]
195
201
  source = "locales/en/.mustflow/skills/dart-code-change/SKILL.md"
196
202
  source_locale = "en"
@@ -347,6 +353,12 @@ source_locale = "en"
347
353
  revision = 2
348
354
  translations = {}
349
355
 
356
+ [documents."skill.github-contribution-quality-gate"]
357
+ source = "locales/en/.mustflow/skills/github-contribution-quality-gate/SKILL.md"
358
+ source_locale = "en"
359
+ revision = 1
360
+ translations = {}
361
+
350
362
  [documents."skill.facade-pattern"]
351
363
  source = "locales/en/.mustflow/skills/facade-pattern/SKILL.md"
352
364
  source_locale = "en"
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: skills.index
3
3
  locale: en
4
4
  canonical: true
5
- revision: 85
5
+ revision: 87
6
6
  authority: router
7
7
  lifecycle: mustflow-owned
8
8
  ---
@@ -100,6 +100,7 @@ routes. Event routes stay inactive until their event occurs.
100
100
  | An unfamiliar codebase area needs an evidence-based map before planning, implementation, or reporting | `.mustflow/skills/codebase-orientation/SKILL.md` | User request, target area, relevant instructions, and current source, test, schema, template, configuration, or documentation files | Read-only orientation notes and any smallest follow-up edit chosen from inspected evidence | stale documentation, wrong ownership boundary, or invented architecture claim | `changes_status`, `changes_diff_summary`, `mustflow_check` | Scope inspected, entrypoints, flow map, ownership boundaries, verification options, risks, unknowns, and smallest safe next step |
101
101
  | A coding task has missing intent, scope, domain, data, security, UX, dependency, architecture, or verification decisions that cannot be safely inferred from repository evidence | `.mustflow/skills/clarifying-question-gate/SKILL.md` | User request, inspected repository evidence, unresolved decisions, reversibility classification, recommended option, and tradeoffs | Blocking questions, safe assumptions, and the smallest safe implementation boundary | over-questioning, lazy questions, expensive wrong assumptions, user-owned decision drift, data loss, auth bypass, public-contract drift, dependency bloat, or unverifiable completion | `changes_status`, `changes_diff_summary`, `mustflow_check` | Repository evidence inspected, blocking questions with recommendations, safe assumptions, selected scope, verification, and remaining ambiguity |
102
102
  | HTTP, REST, GraphQL, tRPC, Hono RPC, Elysia Eden, gRPC, protobuf, OpenAPI, request/response schema, status code, header, error envelope, pagination, filtering, sorting, search, generated client, SDK, mock, fixture, or API docs contract is created or changed | `.mustflow/skills/api-contract-change/SKILL.md` | API style, contract source of truth, changed operations, request and response schemas, status and headers, error envelope, auth and permission behavior, pagination/filter/sort/search semantics, generated clients, SDKs, mocks, fixtures, callers, docs, and command contract entries | Routes, handlers, resolvers, validators, schemas, generated clients, SDKs, mocks, fixtures, docs, tests, and directly synchronized examples | route-only change, schema drift, generated-client breakage, hidden breaking change, status or error drift, pagination/search semantic drift, auth/permission drift, or stale docs examples | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | API contract source, changed operations, compatibility classification, synchronized client/schema/docs/tests surfaces, verification, and remaining API contract risk |
103
+ | C++ source, headers, modules, native build metadata, toolchains, package managers, public headers, shared or static libraries, ABI surfaces, generated bindings, FFI, tests, or benchmarks are created or changed | `.mustflow/skills/cpp-code-change/SKILL.md` | Owning target, compilation identity, build front door, changed consumed surface, public API/ABI/FFI/binding surfaces, ownership and lifetime contracts, and command contract entries | C++ source, headers, modules, build metadata, package metadata, generated bindings, FFI code, tests, benchmarks, and directly synchronized docs | target drift, source API break, binary ABI break, undefined behavior, lifetime bug, build-graph drift, generated-binding drift, FFI memory bug, unverified modern C++ feature, or false performance claim | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Owning target, compilation identity, highest compatibility risk, ownership/lifetime/UB/concurrency notes, public API/ABI/FFI/binding impact, verification, and remaining C++ risk |
103
104
  | TypeScript source, declarations, tsconfig, package exports, module resolution, public API, or TypeScript tests are created or changed | `.mustflow/skills/typescript-code-change/SKILL.md` | TypeScript config, package entry metadata, target runtime, changed files, and command contract entries | TypeScript source, declarations, compiler config, exports, tests, and directly synchronized docs | weakened type safety, module drift, public API drift, or unverified declaration output | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Runtime, module, type, and public API boundary checked, changes made, verification, and remaining TypeScript risk |
104
105
  | JavaScript source, module format, package entry, browser or Node runtime, dependency usage, Promise handling, bundler config, or JavaScript tests are created or changed | `.mustflow/skills/javascript-code-change/SKILL.md` | Package metadata, module system, runtime target, entrypoints, changed files, and command contract entries | JavaScript source, package exports, bundler config, dependencies, tests, and docs examples | runtime API leakage, ESM/CJS drift, discarded Promise, dependency bloat, or broken package entry | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Runtime and module boundary checked, async and dependency notes, verification, and remaining JavaScript risk |
105
106
  | Python source, package metadata, runtime version, import layout, type checking, linting, CLI entry points, or tests are created or changed | `.mustflow/skills/python-code-change/SKILL.md` | Python version source, packaging files, import layout, lint/type/test config, changed files, and command contract entries | Python source, packaging metadata, imports, type hints, tests, and docs examples | unsupported syntax, import hacks, packaging drift, swallowed errors, or weakened lint/type checks | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `mustflow_check` | Runtime, packaging, import, and type boundary checked, verification, and remaining Python risk |
@@ -207,6 +208,7 @@ routes. Event routes stay inactive until their event occurs.
207
208
  | Dates, versions, counts, durations, limits, metrics, benchmarks, prices, percentages, or other numeric facts are created, edited, or reported | `.mustflow/skills/date-number-audit/SKILL.md` | Date or numeric fact, source of truth, dependent surfaces, precision expectation, and command contract entries | Numeric statements, metadata, tests, docs, templates, and reports | invented, stale, or mismatched numeric claim | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Audited values, source of truth, synchronized surfaces, skipped checks, and remaining numeric risk |
208
209
  | Git reports CRLF/LF warnings, Docker or shell scripts fail with CRLF interpreter errors, `.gitattributes` policy is proposed, or tracked text files may need line-ending normalization | `.mustflow/skills/line-ending-hygiene/SKILL.md` | Warning or runtime error text, changed-file evidence, line-ending policy, requested scope, changed-file status, and command contract entries | Line-ending policy files when explicitly requested, tracked text files when explicitly normalized, command metadata, tests, and reports | silent working-tree rewrite, hidden repository-wide policy change, unrelated renormalization, or policy drift | `line_endings_check`, `changes_status`, `mustflow_check` | Policy found or deferred, drift files, normalization status, verification, and remaining line-ending risk |
209
210
  | External `SKILL.md` files, skill packs, awesome lists, GitHub skill repositories, installer recommendations, or third-party skill procedures are reviewed for possible mustflow adoption | `.mustflow/skills/external-skill-intake/SKILL.md` | Source path or URL, license or provenance evidence, external skill files, intended adoption outcome, existing skill overlap, and command contract entries | Skill procedures, skill routes, template metadata, tests, docs, and review notes that adapt the external idea | third-party command bypass, license or provenance gap, unsafe helper script, duplicated skill, stale source claim, or default-profile bloat | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Source review, overlap decision, safety findings, command-intent mapping, adoption decision, synchronized surfaces, verification, and remaining intake risk |
211
+ | GitHub issue, pull request, review thread, or maintainer-facing comment content is drafted, opened, revised, or answered | `.mustflow/skills/github-contribution-quality-gate/SKILL.md` | Target repository, intended GitHub action, repository rules and templates, duplicate search, evidence, verification level, and desired result | Issue, pull request, review reply, or comment draft plus posting gate report | maintainer time waste, duplicate report, unsupported claim, public security leak, unverified AI content, or wrong support channel | `changes_status`, `changes_diff_summary`, `mustflow_check` | Gate decision, repository rules found, duplicate and context check, evidence, missing evidence, draft, and final self-check |
210
212
  | Repository, host, user, nested-project, command-contract, preference, or generated instruction sources conflict or make safe scope unclear | `.mustflow/skills/instruction-conflict-scope-check/SKILL.md` | Conflicting instruction sources, affected scope, direct user request, command contract entries, and nearest instruction files | Workflow docs, skills, templates, tests, reports, and selected repository scope | authority drift, unsafe scope expansion, wrong repository edit, or unauthorized command | `changes_status`, `changes_diff_summary`, `docs_validate_fast`, `test_release`, `mustflow_check` | Conflicts reviewed, chosen priority rule, narrowed or skipped actions, clarification changes, and remaining authority risk |
211
213
  | `.mustflow/context/PROJECT.md` needs cautious project context | `.mustflow/skills/project-context-authoring/SKILL.md` | Supported project facts | `.mustflow/context/PROJECT.md` | authority drift | `mustflow_check` | Updated cautious context |
212
214
  | Skill procedures or routes are created or maintained | `.mustflow/skills/skill-authoring/SKILL.md` | Repeated task evidence | `.mustflow/skills/**` | overlap and command drift | `mustflow_check`, `docs_validate` | Skill route and procedure changes |
@@ -0,0 +1,181 @@
1
+ ---
2
+ mustflow_doc: skill.cpp-code-change
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: cpp-code-change
9
+ description: Apply this skill when C++ source, headers, modules, native build metadata, toolchains, package managers, ABI surfaces, generated bindings, FFI, tests, or benchmarks are created or changed.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.cpp-code-change
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - lint
19
+ - build
20
+ - test_related
21
+ - test
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # C++ Code Change
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Preserve C++ target identity, ownership, lifetime, undefined-behavior, build-graph, API, ABI, FFI, generated-binding, modern-language, concurrency, and performance contracts while making a focused change.
33
+
34
+ A C++ change is successful only when the affected target and consumed surface are understood. Local compile success alone does not prove C++ correctness, compatibility, ABI safety, memory safety, or performance.
35
+
36
+ <!-- mustflow-section: use-when -->
37
+ ## Use When
38
+
39
+ - `.c`, `.cc`, `.cpp`, `.cxx`, `.h`, `.hh`, `.hpp`, `.hxx`, `.ipp`, `.tpp`, `.ixx`, `.cppm`, C++ tests, examples, benchmarks, modules, or generated C++ glue change.
40
+ - C++ build metadata changes, including `CMakeLists.txt`, `CMakePresets.json`, toolchain files, `meson.build`, `meson_options.txt`, Meson native or cross files, `BUILD`, `BUILD.bazel`, `.bazelrc`, `WORKSPACE`, `MODULE.bazel`, `Makefile`, `.mk`, Autotools files, `conanfile.py`, `conanfile.txt`, `conan.lock`, Conan profiles, `vcpkg.json`, `vcpkg-configuration.json`, triplets, package config files, or pkg-config files.
41
+ - The task touches C++ standard version, compiler, standard library, ABI mode, platform branches, generated bindings, shared or static library artifacts, exported symbols, public headers, FFI, ownership, raw pointers, references, smart pointers, views, iterators, allocators, exceptions, errors, templates, concepts, coroutines, modules, atomics, locks, sanitizers, fuzzing, or benchmarks.
42
+
43
+ <!-- mustflow-section: do-not-use-when -->
44
+ ## Do Not Use When
45
+
46
+ - C++ files are read-only context and no C++ source, header, build, package, binding, test, or benchmark surface changes.
47
+ - The task is only formatting, comments, or documentation and does not affect a public header, exported symbol, generated binding, FFI surface, build graph, or documented C++ contract.
48
+ - A generated C++ file must be regenerated by a declared project command rather than edited manually.
49
+ - The change is purely C source with no C++ target, C++ compiler, C++ ABI, C++ build metadata, or C++ consumer boundary involved.
50
+
51
+ <!-- mustflow-section: required-inputs -->
52
+ ## Required Inputs
53
+
54
+ - Changed files and their consumed surface classification: private implementation, private header, public header, module interface, shared library, static library, executable, generated binding input, generated binding output, FFI boundary, test, benchmark, or build metadata.
55
+ - Owning build target for every changed C++ source, header, module, generated file, and native artifact.
56
+ - Target-specific compilation identity: C++ standard, compiler family and version, standard library, ABI mode, exception and RTTI mode, build type, platform, architecture, visibility policy, linkage mode, dependency source, and active build front door when available.
57
+ - Relevant CMake, Meson, Bazel, Make, Autotools, Conan, vcpkg, pkg-config, CI, package, and install/export metadata.
58
+ - Public headers, exported symbols, public types, public constants, macros, enum values, generated bindings, FFI functions, target-language surfaces, and downstream consumer expectations when any public surface changes.
59
+ - Ownership, lifetime, allocator, error, exception, callback, thread-safety, synchronization, and performance contracts touched by the change.
60
+ - Configured verification intents from the repository command contract.
61
+
62
+ <!-- mustflow-section: preconditions -->
63
+ ## Preconditions
64
+
65
+ - Determine the owning build target before editing. Do not treat repository-wide defaults, editor settings, or the local machine compiler as target authority.
66
+ - Determine whether the change can affect source API, binary ABI, generated binding API, FFI ABI, behavior, memory safety, thread safety, performance, package consumers, or only private implementation.
67
+ - Classify compatibility risk by the highest-risk consumed surface touched by the change. Do not downgrade risk because the diff is small, private-looking, or compile-clean.
68
+ - If C++ standard, compiler, standard library, ABI mode, platform, dependency source, active build front door, or owning target cannot be determined, report the missing boundary and avoid changes that depend on it.
69
+ - Use only configured command intents for validation. Do not invent native build, test, sanitizer, fuzz, package, or benchmark commands.
70
+
71
+ <!-- mustflow-section: allowed-edits -->
72
+ ## Allowed Edits
73
+
74
+ - Keep edits scoped to the affected C++ target, build graph, tests, generated-binding source of truth, and directly synchronized docs or template surfaces.
75
+ - Prefer RAII, rule of zero, value semantics, explicit ownership transfer, explicit borrowed views, and narrow lifetime contracts over raw ownership or hidden sharing.
76
+ - Prefer additive API and ABI changes when existing consumers must keep working.
77
+ - Add focused tests, compile checks, smoke tests, or benchmark guards only when they protect the changed C++ contract and are covered by configured intents.
78
+ - Do not hand-edit generated output unless the project explicitly treats it as authoritative or the user explicitly requests it with the drift risk understood.
79
+ - Do not weaken compiler, warning, sanitizer, ABI, package, test, or compatibility checks to make a patch appear complete.
80
+
81
+ <!-- mustflow-section: procedure -->
82
+ ## Procedure
83
+
84
+ 1. Read the repository instructions and configured command intents, then inspect the changed C++ files plus nearby source, headers, tests, build files, package metadata, and CI hints.
85
+ 2. Identify the owning target for each changed file. For CMake, inspect target sources, include directories, compile definitions, compile features, options, link libraries, install/export surfaces, and public/private/interface propagation. For Meson, inspect targets, dependencies, include directories, options, cross/native files, and install surfaces. For Bazel, inspect `cc_library`, `cc_binary`, `cc_test`, `srcs`, `hdrs`, `deps`, `implementation_deps`, `defines`, `local_defines`, `visibility`, toolchains, and `select()` branches. For Make or Autotools, inspect object rules, included fragments, flags, libraries, generated headers, and install surfaces.
86
+ 3. Identify the active build front door. If several active graphs own the same changed file, keep them synchronized or report the unsupported or stale graph explicitly.
87
+ 4. Record the target compilation identity: C++ standard, compiler, standard library, ABI mode, platform, architecture, build type, exception and RTTI mode, visibility, linkage, dependency source, and generated-header source when relevant.
88
+ 5. Classify risk by highest consumed surface:
89
+ - `internal_only`: private implementation or private helper only.
90
+ - `source_api`: public header, exported type, namespace, macro, enum, overload, template, inline function, default argument, include path, or package consumer compile surface.
91
+ - `binary_abi`: shared library symbol, public object layout, vtable, RTTI, calling convention, visibility, allocator boundary, exception boundary, struct packing, alignment, or ABI flag.
92
+ - `static_link_contract`: static artifact, object compatibility, compile flags, PIC, LTO, link order, duplicate symbol, ODR, or consumer relink surface.
93
+ - `generated_binding`: generator input, generated output, wrapper API, target-language package surface, ownership mapping, nullability, or exception/error mapping.
94
+ - `ffi_boundary`: `extern "C"`, callback, raw buffer, fixed layout, allocator, ownership/free function, error ABI, calling convention, or cross-language thread ownership.
95
+ - `semantic_compatibility`: behavior, ownership, lifetime, error, ordering, threading, range, default, or resource contract changed without a signature change.
96
+ - `performance_resource`: hot path, allocation, lock contention, inlining, template instantiation, serialization, binary size, latency, throughput, or memory footprint.
97
+ 6. For ownership and lifetime changes, classify every affected value as owner, borrowed non-null reference, borrowed nullable pointer, view, iterator, handle, shared owner, weak observer, or moved-from value. Check raw pointer ownership, reference escape, lambda capture, async or callback storage, move-after-use, `unique_ptr::release`, duplicate `shared_ptr` ownership, custom deleters, container invalidation, member initialization order, and RAII cleanup on failure paths.
98
+ 7. For undefined-behavior risk, inspect dangling pointers and references, iterator invalidation, uninitialized memory, out-of-bounds access, signed overflow, bad shifts, strict aliasing, alignment, object lifetime, invalid downcasts, non-virtual base deletion, data races, C string length mistakes, and `string_view` or `span` lifetime.
99
+ 8. For public headers, review function signatures, overload sets, namespaces, includes, macros, type aliases, enum values, constants, templates, inline functions, public class layout, virtual functions, base classes, alignment, default arguments, exported concepts, deduced return types, modules, and standard-library types exposed as API or ABI.
100
+ 9. For shared libraries, review exported symbol names, symbol visibility, version scripts, import/export macros, SONAME or equivalent policy, name mangling, calling convention, public object layout, vtable layout, RTTI, exception behavior, allocator ownership, dependency ABI, and standard-library ABI flags.
101
+ 10. For static libraries, review rebuild and relink contracts, public headers, object compatibility, compiler and standard-library assumptions, build flags, PIC, LTO, ODR risk, duplicate symbols, and consumer link behavior. Do not treat static libraries as ABI-free.
102
+ 11. For generated bindings, identify the source of truth, generator version when available, generated output, target-language API, smoke tests, and ownership/error/nullability mapping. Reject source/output drift unless the drift is explicitly intended and verified.
103
+ 12. For FFI, prefer a stable C ABI unless the project explicitly marks the boundary unstable. Use fixed-size types, explicit layout, explicit ownership and release functions, explicit error reporting, explicit calling convention, null handling, callback lifetime rules, and thread ownership. Do not leak C++ exceptions, STL types, templates, overloaded functions, implicit ownership, or compiler-specific C++ ABI across FFI without an explicit unstable-boundary policy.
104
+ 13. For template, concepts, overload, ADL, and SFINAE changes, verify positive and negative compile behavior when configured checks exist. Review which overloads are added, removed, or silently selected differently. Use return-type, constraint, and ADL fixtures when the repository has that pattern.
105
+ 14. For error handling, classify failures as programmer bug, recoverable input or environment failure, resource failure, or invariant violation. Preserve the layer's existing channel: exceptions, error codes, project Result, `std::expected`, assertions, or logging. Do not mix two public failure channels for the same failure without a boundary reason. Treat `noexcept` as a termination contract, not a performance hint.
106
+ 15. For concurrency, list shared mutable state, owner thread, guard mutex, atomic invariant, lifetime rule, lock ordering, callback execution, shutdown path, and join or wait path. Do not introduce unguarded shared mutation, locks held across callbacks or blocking I/O, unexplained memory orders, detached lifetime, or relaxed atomics without proof.
107
+ 16. For modern C++ features, reject changes justified only as modern, shorter, or cleaner-looking. A feature is allowed only when it removes a concrete failure mode, narrows state, clarifies lifetime or ownership, improves misuse resistance, or has measured performance value. Check public-surface exposure, compiler support, standard-library support, build-system support, CI support, and fallback or configure-time failure before adopting C++20 or C++23 features.
108
+ 17. Treat `std::span`, `std::string_view`, ranges views, iterator/sentinel pairs, and coroutine captures as borrowed views. Never store or return them unless owner lifetime is explicit and verified.
109
+ 18. For performance work, require baseline, workload, target metric, profile evidence, hypothesis, targeted change, remeasurement, and regression guard when configured verification exists. Do not claim performance from syntax changes, `std::move`, `string_view`, ranges, modules, coroutines, or `constexpr` without evidence or a clear complexity argument.
110
+ 19. Choose configured validation by highest-risk surface. All C++ changes need compile-equivalent validation when available. Public headers need downstream-style compile or public-header validation when available. Library artifacts need link validation when available. Shared ABI changes need ABI or exported-symbol validation when available. Generated bindings need regeneration and target-language smoke validation when available. FFI changes need boundary smoke and memory validation when available. Hot-path changes need benchmark validation when available.
111
+
112
+ <!-- mustflow-section: rejection-criteria -->
113
+ ## Review Rejection Criteria
114
+
115
+ Reject or revise the patch when any of these appear without strong local evidence and risk reporting:
116
+
117
+ - A changed C++ file has no identified owning target, active build front door, or compilation identity.
118
+ - A public header, exported symbol, generated binding, FFI surface, or library artifact changes without compatibility classification.
119
+ - API compatibility is claimed without inspecting public headers, generated bindings, or downstream-style consumer compile surface.
120
+ - ABI compatibility is claimed after exported symbols, object layout, vtable layout, calling convention, visibility, or FFI layout changed without ABI or equivalent binary-compatibility evidence.
121
+ - A raw pointer, reference, view, iterator, or callback is stored or returned without owner lifetime evidence.
122
+ - `std::string_view`, `std::span`, ranges views, coroutine captures, or iterator pairs outlive their owner or cross mutation/reallocation boundaries without proof.
123
+ - `std::move`, `unique_ptr::release`, `shared_ptr`, custom deleters, or manual cleanup obscure ownership transfer.
124
+ - New manual `new`, `delete`, `malloc`, `free`, close, unlock, or release paths appear where RAII can express the ownership.
125
+ - A `noexcept` function calls code that may throw without an intentional termination policy.
126
+ - Public API exposes C++20 or C++23 features without consumer compiler, standard-library, build-system, and fallback review.
127
+ - Performance improvement is claimed without baseline, workload, measurement, or complexity evidence.
128
+ - Sanitizer, ABI, FFI, binding, benchmark, or downstream checks are missing but the output claims those properties were proven.
129
+
130
+ <!-- mustflow-section: postconditions -->
131
+ ## Postconditions
132
+
133
+ - The owning target, active build graph, and target compilation identity are known or the missing boundary is reported.
134
+ - The highest compatibility risk is stated: internal-only, source API, binary ABI, static-link contract, generated binding, FFI, semantic compatibility, or performance/resource.
135
+ - Ownership, lifetime, allocator, error, concurrency, and modern-feature impacts are intentional and evidence-backed.
136
+ - Public headers, exported symbols, generated bindings, FFI surfaces, build metadata, tests, docs, and template surfaces are synchronized when they are part of the changed contract.
137
+ - Generated files match their source of truth and generator flow, or drift is reported.
138
+ - No API, ABI, memory-safety, thread-safety, FFI, binding, or performance compatibility is claimed beyond the validation evidence.
139
+
140
+ <!-- mustflow-section: verification -->
141
+ ## Verification
142
+
143
+ Use configured oneshot command intents when available:
144
+
145
+ - `lint`
146
+ - `build`
147
+ - `test_related`
148
+ - `test`
149
+ - `docs_validate_fast`
150
+ - `test_release`
151
+ - `mustflow_check`
152
+
153
+ Choose validation by highest-risk surface, not by diff size.
154
+
155
+ Report whether configured validation exists for C++ compile, public-header compile, downstream consumer compile, link, unit, integration, API diff, ABI diff, generated-binding regeneration, target-language smoke, FFI smoke, sanitizer, valgrind or equivalent memory analysis, fuzzing, benchmark, and package-consume scenarios when those surfaces change.
156
+
157
+ When a required validation intent is unavailable, record the missing intent, why it matters, the weaker validation that was run, and the remaining compatibility risk. Do not invent a command or claim compatibility was proven.
158
+
159
+ <!-- mustflow-section: failure-handling -->
160
+ ## Failure Handling
161
+
162
+ - If the owning target or active build front door is unclear, stop the risky part and inspect build metadata before editing further.
163
+ - If multiple build graphs own the same changed file and only one can be updated, report the stale graph and compatibility risk.
164
+ - If public API or ABI policy is absent, classify the risk explicitly instead of assuming semver, SONAME, or package compatibility rules.
165
+ - If generated bindings drift, restore source/output alignment or report the generator/source-of-truth gap.
166
+ - If an ownership or lifetime fix creates broad shared ownership, manual cleanup, or hidden view lifetime, revisit the owner boundary before continuing.
167
+ - If concurrency changes lack a synchronization proof, stop that part and inspect the state owner, guard, lifetime, and shutdown path.
168
+ - If performance measurements are unavailable, report that performance compatibility was not proven.
169
+
170
+ <!-- mustflow-section: output-format -->
171
+ ## Output Format
172
+
173
+ - Boundary checked
174
+ - Owning target and compilation identity
175
+ - Highest compatibility risk
176
+ - Ownership, lifetime, UB, concurrency, modern-feature, or performance impact
177
+ - Public API, ABI, binding, FFI, or build-graph impact
178
+ - Files changed
179
+ - Command intents run
180
+ - Skipped checks and reasons
181
+ - Remaining C++ risk
@@ -0,0 +1,166 @@
1
+ ---
2
+ mustflow_doc: skill.github-contribution-quality-gate
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: github-contribution-quality-gate
9
+ description: Apply this skill before drafting, opening, or replying to public GitHub issues, pull requests, review threads, or maintainer-facing comments so the contribution follows repository rules, avoids duplicate low-value content, and includes verified evidence.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.github-contribution-quality-gate
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - mustflow_check
19
+ ---
20
+
21
+ # GitHub Contribution Quality Gate
22
+
23
+ <!-- mustflow-section: purpose -->
24
+ ## Purpose
25
+
26
+ Create GitHub issues, pull requests, review replies, and maintainer-facing comments that save maintainer time.
27
+
28
+ The goal is not polished prose. The goal is verified, scoped, actionable information that follows the target repository's rules and gives maintainers enough evidence to reproduce, review, merge, redirect, close, or reject the work faster.
29
+
30
+ <!-- mustflow-section: use-when -->
31
+ ## Use When
32
+
33
+ - The user asks to draft, open, improve, or reply to a public GitHub issue, pull request, review thread, or maintainer-facing comment.
34
+ - A PR description, issue body, bug report, feature request, documentation report, review reply, or follow-up comment needs repository-template alignment.
35
+ - The contribution may depend on `README.md`, `CONTRIBUTING.md`, issue templates, pull request templates, `SUPPORT.md`, `SECURITY.md`, maintainer comments, duplicate issues, duplicate pull requests, or project-specific contribution rules.
36
+ - AI-generated analysis, generated code, generated tests, generated reproduction steps, or generated security reasoning may influence the public GitHub content.
37
+ - The user has evidence that may belong in an existing issue or pull request instead of a new thread.
38
+
39
+ <!-- mustflow-section: do-not-use-when -->
40
+ ## Do Not Use When
41
+
42
+ - The task is only to review code before a report; use `code-review` or `diff-risk-review`.
43
+ - The task is to publish a release, release notes, or changelog entry; use `release-publish-change` or `release-notes-authoring`.
44
+ - The content is a private vulnerability report, credential leak, exploit path, account compromise, or sensitive security issue. Follow the repository security policy and do not draft a public issue.
45
+ - The user asks to mass-generate issues, mass-generate pull requests, farm contribution graphs, farm bounties, or post content the human contributor cannot explain.
46
+ - The task requires a GitHub operation that the host, repository, or user has not permitted. This skill can draft and gate content, but it does not grant external service permission.
47
+
48
+ <!-- mustflow-section: required-inputs -->
49
+ ## Required Inputs
50
+
51
+ - Target repository owner and name, plus the URL when available.
52
+ - Intended GitHub action: bug issue, feature issue, documentation issue, question redirect, pull request, review reply, issue comment, PR comment, or follow-up update.
53
+ - Repository rules found in `README.md`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `SUPPORT.md`, `SECURITY.md`, issue templates, issue forms, pull request templates, and linked development docs.
54
+ - Duplicate and context search evidence: searched terms, open and closed issues, open and closed pull requests, discussions when used by the repository, documentation, changelog, and related maintainer comments.
55
+ - User evidence: reproduction steps, minimal example, logs, screenshots, recordings, changed files, local test output, failing command, environment, version, linked issue, or maintainer question being answered.
56
+ - Verification level: personally reproduced, partially reproduced, inferred from code, inferred from logs, not reproduced, not searched, or not verified.
57
+ - Desired result: report a bug, propose a feature, submit a fix, ask for design approval, answer a maintainer, provide missing evidence, or close the loop.
58
+
59
+ <!-- mustflow-section: preconditions -->
60
+ ## Preconditions
61
+
62
+ - Treat repository-specific rules as the source of truth for the draft format.
63
+ - Prefer repository templates over fallback structures.
64
+ - If template fields are required, preserve the headings and answer each field. Use `N/A` only when the field truly does not apply, with one short reason.
65
+ - If the repository sends support questions to Discussions, Discord, Slack, Stack Overflow, a mailing list, or another support channel, do not draft a bug issue for a support question.
66
+ - If duplicate search is not possible with available context or host tools, state that clearly and lower confidence.
67
+ - If essential evidence is missing, do not fabricate it. Return a blocking gate decision or ask for the exact missing evidence.
68
+ - If a public post may expose a private vulnerability, credential, exploit, private log, customer data, or account-specific detail, return `PRIVATE_SECURITY_REPORT`.
69
+
70
+ <!-- mustflow-section: allowed-edits -->
71
+ ## Allowed Edits
72
+
73
+ - Draft or revise issue bodies, PR descriptions, review replies, and maintainer-facing comments.
74
+ - Summarize repository rules, duplicate-search results, evidence, missing evidence, and posting risk.
75
+ - Update local documentation only when the user explicitly asks to save the draft or the repository task separately requires documentation changes.
76
+ - Do not edit code, tests, templates, schemas, repository settings, labels, milestones, or GitHub state as part of this skill unless a separate task and matching skill authorize that work.
77
+ - Do not add generic filler, speculative root causes, fake test results, fake reproduction steps, or unverified claims.
78
+
79
+ <!-- mustflow-section: procedure -->
80
+ ## Procedure
81
+
82
+ 1. Classify the intended contribution surface: new issue, existing issue comment, new PR, existing PR comment, review reply, or follow-up update.
83
+ 2. Read repository contribution rules before drafting:
84
+ - root, `.github/`, and `docs/` `CONTRIBUTING.md`;
85
+ - `CODE_OF_CONDUCT.md`;
86
+ - `SUPPORT.md`;
87
+ - `SECURITY.md`;
88
+ - `.github/ISSUE_TEMPLATE/` Markdown templates, YAML issue forms, and `config.yml`;
89
+ - `pull_request_template.md`, `.github/pull_request_template.md`, `docs/pull_request_template.md`, and `PULL_REQUEST_TEMPLATE/`;
90
+ - development docs linked from the contribution guide.
91
+ 3. Identify mandatory repository fields: title format, labels or issue type guidance, reproduction requirements, test expectations, AI-assistance disclosure rules, security-reporting path, support channel, contribution scope, and linked-issue requirements.
92
+ 4. Search for duplicates and context before drafting. Use exact error text, function names, component names, stack trace fragments, package names, version numbers, platform names, and user-facing symptoms. Record likely duplicates with number, status, and why they are or are not the same.
93
+ 5. Decide whether the contribution adds new verified value:
94
+ - new value includes a minimal reproduction, different affected version, regression range, failing test, confirmed workaround, smaller root-cause evidence, platform-specific observation, or logs that materially improve triage;
95
+ - `same problem here` without new evidence is not new value.
96
+ 6. For bug issues, require actual behavior, expected behavior, exact reproduction steps, smallest reasonable reproduction, version, environment, relevant logs or screenshots, regression status, attempted workarounds, and concrete impact.
97
+ 7. For feature or enhancement issues, require user problem, affected users, concrete workflow, why existing behavior is insufficient, related discussions, compatibility impact, alternatives considered, and non-goals when the proposal can sprawl.
98
+ 8. For documentation issues, require exact page, section, symbol, command, or example; current wording or behavior; expected wording or explanation; and evidence that the current documentation is stale or misleading when available.
99
+ 9. For pull requests, require focused scope, linked issue or prior discussion when non-trivial, changed behavior, intentionally unchanged behavior, tests added or updated, exact verification results, compatibility notes for public surfaces, UI screenshots when relevant, and draft status when incomplete.
100
+ 10. For review replies, answer the maintainer's actual question first. Provide requested logs, reproduction, design tradeoff, tests, or blocker. Do not answer a different question because it is easier.
101
+ 11. Apply AI-assistance rules:
102
+ - the human contributor remains responsible for accuracy, completeness, copyright, testing, follow-up, and explanation;
103
+ - disclose substantial AI assistance when the repository requires it or when AI-generated analysis, code, tests, reproduction steps, or security reasoning materially shaped the content;
104
+ - do not submit AI output that the human contributor has not reviewed, cannot explain, or could have tested but did not.
105
+ 12. Choose a gate decision before writing the final draft:
106
+ - `POST` when the content follows repository rules and has enough verified value;
107
+ - `POST_AS_DRAFT` when a PR direction is useful but not ready for final review;
108
+ - `ASK_IN_EXISTING_THREAD` when the evidence belongs in a related issue or PR;
109
+ - `DO_NOT_POST` when the content lacks verified value, duplicates existing content, violates repository rules, or the human contributor cannot defend it;
110
+ - `PRIVATE_SECURITY_REPORT` when the content should not be public.
111
+ 13. Draft concise maintainer-ready content. Put the core fact early, keep sections short, include only relevant evidence, quote logs narrowly, and avoid generic flattery, repeated apology, AI disclaimers, or project background that maintainers already know.
112
+ 14. Run or report configured local verification only when the GitHub content depends on the current local diff or repository workflow. Do not infer missing commands.
113
+
114
+ <!-- mustflow-section: postconditions -->
115
+ ## Postconditions
116
+
117
+ - The gate decision is explicit and evidence-backed.
118
+ - Repository templates and rules are followed or the reason they could not be checked is stated.
119
+ - Duplicate search is summarized with confidence.
120
+ - Every technical claim in the draft is tied to evidence or marked uncertain.
121
+ - Security-sensitive content is not prepared for public posting.
122
+ - AI assistance is disclosed when required or material.
123
+ - The draft helps maintainers act faster or the skill blocks posting.
124
+
125
+ <!-- mustflow-section: verification -->
126
+ ## Verification
127
+
128
+ Use configured oneshot command intents when available and relevant:
129
+
130
+ - `changes_status`
131
+ - `changes_diff_summary`
132
+ - `mustflow_check`
133
+
134
+ Use `changes_status` and `changes_diff_summary` when drafting a PR description or review reply for the current local diff. Use `mustflow_check` when the GitHub content concerns mustflow workflow files or skill changes. If a repository-specific test, lint, build, or docs check is required but not declared as a configured intent, report the missing intent instead of inventing a command.
135
+
136
+ <!-- mustflow-section: failure-handling -->
137
+ ## Failure Handling
138
+
139
+ - If repository rules cannot be inspected, draft only a low-confidence outline and list the missing rule files or inaccessible templates.
140
+ - If duplicate search cannot be performed, do not claim the issue is new.
141
+ - If a duplicate exists and the user has no new evidence, return `DO_NOT_POST`.
142
+ - If a duplicate exists and the user has new evidence, draft a concise comment for the existing thread instead of a new issue.
143
+ - If the report is a support request, redirect to the repository's support path instead of drafting a bug report.
144
+ - If the issue may be security-sensitive, return `PRIVATE_SECURITY_REPORT` and cite the repository security policy path when known.
145
+ - If the human contributor cannot explain the claim, fix, or answer, return `DO_NOT_POST`.
146
+ - If tests were feasible but not run, keep the draft honest and explain the skipped verification.
147
+
148
+ <!-- mustflow-section: output-format -->
149
+ ## Output Format
150
+
151
+ - Gate decision: `POST`, `POST_AS_DRAFT`, `ASK_IN_EXISTING_THREAD`, `DO_NOT_POST`, or `PRIVATE_SECURITY_REPORT`
152
+ - Why
153
+ - Repository rules found
154
+ - Duplicate and context check
155
+ - Evidence checked
156
+ - Missing evidence
157
+ - Draft
158
+ - Final self-check:
159
+ - Can a maintainer reproduce or review this without guessing?
160
+ - Does this follow repository rules and templates?
161
+ - Does this add new information beyond existing issues or PRs?
162
+ - Is every technical claim backed by evidence?
163
+ - Were feasible tests or verification checks run or honestly skipped?
164
+ - Is AI assistance disclosed when required or material?
165
+ - Can the human contributor explain and defend the content without AI?
166
+ - Does posting this save maintainer time?
@@ -114,6 +114,12 @@ route_type = "adjunct"
114
114
  priority = 42
115
115
  applies_to_reasons = ["unknown_change", "code_change", "behavior_change", "public_api_change", "security_change", "privacy_change", "data_change", "migration_change", "package_metadata_change"]
116
116
 
117
+ [routes."cpp-code-change"]
118
+ category = "general_code"
119
+ route_type = "primary"
120
+ priority = 85
121
+ applies_to_reasons = ["code_change", "public_api_change", "test_change", "package_metadata_change"]
122
+
117
123
  [routes."api-contract-change"]
118
124
  category = "general_code"
119
125
  route_type = "primary"
@@ -348,6 +354,12 @@ route_type = "authoring"
348
354
  priority = 70
349
355
  applies_to_reasons = ["mustflow_docs_change"]
350
356
 
357
+ [routes."github-contribution-quality-gate"]
358
+ category = "workflow_contracts"
359
+ route_type = "primary"
360
+ priority = 60
361
+ applies_to_reasons = ["unknown_change", "docs_change", "workflow_change", "public_api_change"]
362
+
351
363
  [routes."instruction-conflict-scope-check"]
352
364
  category = "workflow_contracts"
353
365
  route_type = "adjunct"
@@ -1,6 +1,6 @@
1
1
  id = "default"
2
2
  name = "default"
3
- version = "2.25.1"
3
+ version = "2.25.2"
4
4
  description = "Minimal workflow for LLM agents to read, edit, and verify their work in a repository."
5
5
  common_root = "common"
6
6
  locales_root = "locales"
@@ -22,6 +22,7 @@ creates = [
22
22
  ".mustflow/skills/clarifying-question-gate/SKILL.md",
23
23
  ".mustflow/skills/astro-code-change/SKILL.md",
24
24
  ".mustflow/skills/css-code-change/SKILL.md",
25
+ ".mustflow/skills/cpp-code-change/SKILL.md",
25
26
  ".mustflow/skills/dart-code-change/SKILL.md",
26
27
  ".mustflow/skills/elysia-code-change/SKILL.md",
27
28
  ".mustflow/skills/flutter-code-change/SKILL.md",
@@ -62,6 +63,7 @@ creates = [
62
63
  ".mustflow/skills/ui-quality-gate/SKILL.md",
63
64
  ".mustflow/skills/external-prompt-injection-defense/SKILL.md",
64
65
  ".mustflow/skills/external-skill-intake/SKILL.md",
66
+ ".mustflow/skills/github-contribution-quality-gate/SKILL.md",
65
67
  ".mustflow/skills/file-path-cross-platform-change/SKILL.md",
66
68
  ".mustflow/skills/idea-triage/SKILL.md",
67
69
  ".mustflow/skills/facade-pattern/SKILL.md",
@@ -128,6 +130,7 @@ minimal = [
128
130
  "clarifying-question-gate",
129
131
  "astro-code-change",
130
132
  "css-code-change",
133
+ "cpp-code-change",
131
134
  "dart-code-change",
132
135
  "elysia-code-change",
133
136
  "flutter-code-change",
@@ -180,6 +183,7 @@ patterns = [
180
183
  "clarifying-question-gate",
181
184
  "astro-code-change",
182
185
  "css-code-change",
186
+ "cpp-code-change",
183
187
  "dart-code-change",
184
188
  "elysia-code-change",
185
189
  "flutter-code-change",
@@ -243,6 +247,7 @@ oss = [
243
247
  "clarifying-question-gate",
244
248
  "astro-code-change",
245
249
  "css-code-change",
250
+ "cpp-code-change",
246
251
  "dart-code-change",
247
252
  "elysia-code-change",
248
253
  "flutter-code-change",
@@ -276,6 +281,7 @@ oss = [
276
281
  "docs-update",
277
282
  "external-prompt-injection-defense",
278
283
  "external-skill-intake",
284
+ "github-contribution-quality-gate",
279
285
  "facade-pattern",
280
286
  "failure-triage",
281
287
  "file-path-cross-platform-change",
@@ -318,6 +324,7 @@ team = [
318
324
  "clarifying-question-gate",
319
325
  "astro-code-change",
320
326
  "css-code-change",
327
+ "cpp-code-change",
321
328
  "dart-code-change",
322
329
  "elysia-code-change",
323
330
  "flutter-code-change",
@@ -348,6 +355,7 @@ team = [
348
355
  "diff-risk-review",
349
356
  "docs-update",
350
357
  "external-prompt-injection-defense",
358
+ "github-contribution-quality-gate",
351
359
  "facade-pattern",
352
360
  "failure-triage",
353
361
  "file-path-cross-platform-change",
@@ -381,6 +389,7 @@ product = [
381
389
  "clarifying-question-gate",
382
390
  "astro-code-change",
383
391
  "css-code-change",
392
+ "cpp-code-change",
384
393
  "dart-code-change",
385
394
  "elysia-code-change",
386
395
  "flutter-code-change",
@@ -411,6 +420,7 @@ product = [
411
420
  "docs-update",
412
421
  "external-prompt-injection-defense",
413
422
  "facade-pattern",
423
+ "github-contribution-quality-gate",
414
424
  "failure-triage",
415
425
  "file-path-cross-platform-change",
416
426
  "idea-triage",
@@ -449,6 +459,7 @@ library = [
449
459
  "clarifying-question-gate",
450
460
  "astro-code-change",
451
461
  "css-code-change",
462
+ "cpp-code-change",
452
463
  "dart-code-change",
453
464
  "elysia-code-change",
454
465
  "flutter-code-change",
@@ -482,6 +493,7 @@ library = [
482
493
  "docs-update",
483
494
  "external-prompt-injection-defense",
484
495
  "facade-pattern",
496
+ "github-contribution-quality-gate",
485
497
  "failure-triage",
486
498
  "file-path-cross-platform-change",
487
499
  "idea-triage",
@@ -523,6 +535,7 @@ managed_targets = [".gitignore"]
523
535
  generated_targets = [
524
536
  "REPO_MAP.md",
525
537
  ".mustflow/config/manifest.lock.toml",
538
+ ".mustflow/cache/**",
526
539
  ".mustflow/state/**",
527
540
  ".mustflow/worklogs/**",
528
541
  ".mustflow/plans/**",
@@ -593,6 +606,7 @@ default = "abort"
593
606
  [conflict_policy.generated]
594
607
  "REPO_MAP.md" = "prompt"
595
608
  ".mustflow/config/manifest.lock.toml" = "regenerate"
609
+ ".mustflow/cache/**" = "keep"
596
610
  ".mustflow/state/**" = "keep"
597
611
  ".mustflow/worklogs/**" = "keep"
598
612
  ".mustflow/plans/**" = "keep"