mustflow 2.112.3 → 2.112.7
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 +1 -0
- package/dist/cli/commands/workspace.js +192 -0
- package/dist/cli/i18n/en.js +2 -1
- package/dist/cli/i18n/es.js +2 -1
- package/dist/cli/i18n/fr.js +2 -1
- package/dist/cli/i18n/hi.js +2 -1
- package/dist/cli/i18n/ko.js +2 -1
- package/dist/cli/i18n/zh.js +2 -1
- package/dist/core/public-json-contracts.js +8 -0
- package/package.json +1 -1
- package/schemas/README.md +3 -0
- package/schemas/workspace-command-fragments.schema.json +121 -0
- package/templates/default/i18n.toml +10 -4
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +12 -4
- package/templates/default/locales/en/.mustflow/skills/abstraction-boundary-review/SKILL.md +413 -0
- package/templates/default/locales/en/.mustflow/skills/module-boundary-review/SKILL.md +65 -8
- package/templates/default/locales/en/.mustflow/skills/routes.toml +6 -0
- package/templates/default/locales/en/AGENTS.md +14 -1
- package/templates/default/locales/ko/AGENTS.md +5 -1
- package/templates/default/manifest.toml +9 -1
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
mustflow_doc: skill.module-boundary-review
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 3
|
|
6
6
|
lifecycle: mustflow-owned
|
|
7
7
|
authority: procedure
|
|
8
8
|
name: module-boundary-review
|
|
9
|
-
description: Apply this skill when code is created, changed, reviewed, or reported and module separation, cohesion, coupling, data ownership, rule ownership, failure ownership, import direction, circular dependency, DTO leakage, shared/common/utils growth, mock-heavy tests, repeated policy conditions, enum interpretation, repository business logic, anemic domain, domain-to-I/O leakage, transaction boundary mismatch, event naming, public API bloat, caller sequencing, premature reuse, co-change history, bug/fix distance, config ownership, log responsibility, exception translation, cache invalidation ownership, repeated authorization checks, frontend/backend policy leakage, time policy, batch or worker bypass, or temporary-code accumulation can make a change spread beyond its real owner.
|
|
9
|
+
description: Apply this skill when code is created, changed, reviewed, or reported and module separation, cohesion, coupling, change axes, stability direction, data ownership, rule ownership, failure ownership, import direction, circular dependency, DTO leakage, shared/common/utils growth, mock-heavy tests, repeated policy conditions, enum interpretation, repository business logic, anemic domain, domain-to-I/O leakage, transaction boundary mismatch, event naming, public API bloat, caller sequencing, premature reuse, co-change history, bug/fix distance, config ownership, log responsibility, exception translation, cache invalidation ownership, repeated authorization checks, frontend/backend policy leakage, time policy, batch or worker bypass, shallow modules, or temporary-code accumulation can make a change spread beyond its real owner.
|
|
10
10
|
metadata:
|
|
11
11
|
mustflow_schema: "1"
|
|
12
12
|
mustflow_kind: procedure
|
|
@@ -46,6 +46,12 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
46
46
|
files repeatedly change together.
|
|
47
47
|
- A review claims that layering, clean architecture, DDD, modular monolith, feature folders,
|
|
48
48
|
repositories, services, shared utilities, events, DTOs, or frontend/backend separation is clean.
|
|
49
|
+
- A design starts from feature folders, technical layers, or CRUD nouns and may be missing the real
|
|
50
|
+
split criterion: who changes the code, when, why, and independently of which other owners.
|
|
51
|
+
- A module depends on a more volatile detail such as a provider SDK, UI route flow, database query
|
|
52
|
+
shape, external response, framework object, config dialect, or generated transport model.
|
|
53
|
+
- A change creates many thin files whose public APIs are wider than the hidden implementation, or
|
|
54
|
+
whose abstractions only forward calls, wrap switches, or rename CRUD.
|
|
49
55
|
- The suspected issue is not a large service split yet, but a local module boundary that leaks
|
|
50
56
|
business rules, data shape, failure handling, sequencing, or ownership to neighbors.
|
|
51
57
|
|
|
@@ -70,12 +76,21 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
70
76
|
|
|
71
77
|
- Change reason: the policy, feature, bug, data shape, failure path, or operational behavior that
|
|
72
78
|
caused the edit.
|
|
79
|
+
- Change-axis ledger: likely independent changes over the next useful planning horizon, including
|
|
80
|
+
policy, external provider, data model, UI flow, permission, pricing, billing, deployment, and
|
|
81
|
+
operational changes, plus who or what would cause each change.
|
|
73
82
|
- Changed-file spread: folders, modules, layers, packages, tests, generated files, templates, and
|
|
74
83
|
docs touched by the same reason.
|
|
75
84
|
- Co-change evidence when available: recent commits, PRs, repeated paired files, or local diff
|
|
76
85
|
history showing files that usually move together.
|
|
77
86
|
- Module graph evidence: imports, exports, public APIs, call sites, dependency direction, cycles,
|
|
78
87
|
shared helpers, DTO flow, and configuration reads.
|
|
88
|
+
- Stability evidence: which modules many callers rely on, which modules change because external
|
|
89
|
+
details move, and whether dependencies point toward the more stable policy owner rather than the
|
|
90
|
+
more volatile implementation detail.
|
|
91
|
+
- Change-simulation evidence: expected files touched for at least three concrete next changes, such
|
|
92
|
+
as changing a payment provider, adding a pricing rule, changing admin UI flow, changing invoice
|
|
93
|
+
format, changing permissions, or adding a worker path.
|
|
79
94
|
- Configured guardrail evidence when available: `code/module-boundary` results for
|
|
80
95
|
`.mustflow/config/module-boundaries.toml` layer deny rules, public entrypoints, feature imports,
|
|
81
96
|
shared budgets, and import cycles.
|
|
@@ -121,15 +136,30 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
121
136
|
- Count how many modules, folders, layers, tests, docs, and templates changed for that one reason.
|
|
122
137
|
- If one policy edit forces controller, service, repository, mapper, utility, constants, worker,
|
|
123
138
|
and UI edits together, treat the module boundary as suspect.
|
|
139
|
+
- Before accepting a new split, list the independent change axes first. Do not start with
|
|
140
|
+
`controllers`, `services`, `repositories`, `utils`, or CRUD nouns unless the repository already
|
|
141
|
+
proves those are the real change units.
|
|
124
142
|
2. Group by reason to change.
|
|
125
143
|
- Files with different names but the same change reason are one module candidate.
|
|
126
144
|
- `UserService`, `UserValidator`, `UserMapper`, `UserPolicy`, and `UserHelper` changing together is
|
|
127
145
|
evidence of sliced roles, not necessarily separated modules.
|
|
146
|
+
- Write each candidate module as "this module changes when ...". If that sentence names more than
|
|
147
|
+
one independent owner, split the candidate or report the boundary risk.
|
|
148
|
+
- Prefer volatility names and business capabilities, such as pricing policy, payment provider,
|
|
149
|
+
subscription lifecycle, invoice rendering, fraud check, fulfillment handoff, or entitlement
|
|
150
|
+
decision, over role-sliced layer names when those better predict future edits.
|
|
128
151
|
3. Check import direction.
|
|
129
152
|
- Infrastructure or low-level modules should not know high-level business use case names unless
|
|
130
153
|
the repository intentionally uses that inversion.
|
|
131
154
|
- Treat lower layers importing policy names such as plan, checkout, approval, permission, or
|
|
132
155
|
subscription as evidence that the policy leaked downward.
|
|
156
|
+
- Check stability direction. Code that many callers depend on should not import volatile details
|
|
157
|
+
such as Stripe, Toss, Prisma, SQLAlchemy, React Router, FastAPI request objects, provider DTOs,
|
|
158
|
+
raw SQL builders, generated clients, or `process.env` unless the repository explicitly makes
|
|
159
|
+
that layer an edge adapter.
|
|
160
|
+
- Prefer interfaces or ports owned by the using side when the abstraction protects stable policy
|
|
161
|
+
code from an unstable provider, database, queue, cache, filesystem, network, framework, or UI
|
|
162
|
+
detail.
|
|
133
163
|
4. Treat cycles as boundary failure until proven harmless.
|
|
134
164
|
- If A imports B and B imports A, identify the missing concept, ownership decision, event, port, or
|
|
135
165
|
data-flow direction.
|
|
@@ -188,6 +218,11 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
188
218
|
- Too many exported functions can mean internals are on display.
|
|
189
219
|
- If callers must call `create`, then `apply`, then `reserve`, then `mark`, the module has handed
|
|
190
220
|
out an assembly manual instead of owning the sequence.
|
|
221
|
+
- A good module should have a small door and a deeper inside. If most files only expose one-line
|
|
222
|
+
forwarding methods, wrapper services, or renamed CRUD calls, treat the split as shallow module
|
|
223
|
+
theater until a real hidden decision or variation point is named.
|
|
224
|
+
- A public API wider than the behavior it hides is usually not a boundary; it is implementation
|
|
225
|
+
leakage with extra navigation.
|
|
191
226
|
16. Check reuse claims.
|
|
192
227
|
- "Used in many places" is not enough reason to extract a common helper.
|
|
193
228
|
- Reuse is safe only when the callers change for the same reason. Similar code from different
|
|
@@ -197,20 +232,27 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
197
232
|
names.
|
|
198
233
|
- If a file repeatedly receives temporary exceptions in the same direction, name the missing
|
|
199
234
|
concept instead of adding another branch.
|
|
200
|
-
18.
|
|
235
|
+
18. Run change simulations.
|
|
236
|
+
- Pick at least three plausible next changes from the change-axis ledger.
|
|
237
|
+
- For each scenario, list which modules should change and which modules must stay ignorant.
|
|
238
|
+
- If changing a provider, UI flow, invoice format, permission rule, or pricing rule repeatedly
|
|
239
|
+
crosses the same unrelated modules, treat that as hidden coupling.
|
|
240
|
+
- If a module would break because a different module's test changed, identify whether the
|
|
241
|
+
boundary couples futures that should be independent.
|
|
242
|
+
19. Compare bug location with fix location.
|
|
201
243
|
- If the symptom appears in one module but the fix belongs in an unrelated utility, policy, or
|
|
202
244
|
mapper, the responsibility line may be bent.
|
|
203
|
-
|
|
245
|
+
20. Check config, time, and logging responsibility.
|
|
204
246
|
- Raw `process.env`, feature flag, remote config, clock, timezone, locale, and date parsing should
|
|
205
247
|
usually be read at the edge and injected as explicit values.
|
|
206
248
|
- Logs that mention another module's job, such as payment code logging welcome-email failure, are
|
|
207
249
|
strong ownership evidence.
|
|
208
|
-
|
|
250
|
+
21. Translate exceptions at boundaries.
|
|
209
251
|
- Database, provider, filesystem, framework, and payment errors should not leak through every
|
|
210
252
|
layer unchanged.
|
|
211
253
|
- Convert external failure dialect into the receiving module's language while preserving safe
|
|
212
254
|
diagnostic causes.
|
|
213
|
-
|
|
255
|
+
22. Check cache invalidation, authorization, frontend policy, and alternate entrypoints.
|
|
214
256
|
- Cache invalidation belongs near the data owner, not scattered across random callers.
|
|
215
257
|
- Authorization checks repeated in controllers should move to one use-case entry, policy, or
|
|
216
258
|
capability boundary.
|
|
@@ -218,7 +260,14 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
218
260
|
backend policy from internal statuses.
|
|
219
261
|
- Batch, cron, worker, and admin tools should use the same use case or policy owner as online
|
|
220
262
|
requests instead of bypassing validations, events, logs, and permissions.
|
|
221
|
-
|
|
263
|
+
23. Attack the design before accepting it.
|
|
264
|
+
- Name the three modules or abstractions most likely to rot first.
|
|
265
|
+
- For each, name the change request that would break it, the owner that would cause the change,
|
|
266
|
+
and whether the blast stays inside one module.
|
|
267
|
+
- Remove or redesign shallow wrappers, central managers, enum-switch strategies, provider-shaped
|
|
268
|
+
"neutral" ports, configuration-driven logic hiding, event-bus call hiding, and CRUD stamp
|
|
269
|
+
modules when they fail the attack.
|
|
270
|
+
24. Decide the smallest response.
|
|
222
271
|
- If evidence is strong and the edit is in scope, make the smallest boundary fix.
|
|
223
272
|
- If the fix would be broad, report the module boundary risk and the first safe split point.
|
|
224
273
|
- If evidence is weak, leave the structure alone and report the missing co-change or ownership
|
|
@@ -229,9 +278,15 @@ who must change, who owns the data, who owns the failure, and who should not nee
|
|
|
229
278
|
|
|
230
279
|
- The changed reason, changed-file spread, co-change evidence, data owner, policy owner, failure
|
|
231
280
|
owner, and public module surface are explicit or reported as missing.
|
|
281
|
+
- The relevant change axes and stability direction are explicit, or reported as missing evidence.
|
|
282
|
+
- At least three change simulations were checked when designing or accepting a new module boundary,
|
|
283
|
+
unless the task is only auditing an existing small local diff.
|
|
232
284
|
- Import direction, cycles, DTO spread, shared helper ownership, repository policy leakage, domain
|
|
233
285
|
I/O leakage, transaction mismatch, event naming, caller sequencing, duplicated policy, and alternate
|
|
234
286
|
entrypoints are fixed or reported where relevant.
|
|
287
|
+
- Shallow module signals such as role-sliced CRUD layers, one-line wrappers, provider-shaped ports,
|
|
288
|
+
ownerless managers, event-bus call hiding, config-hidden logic, and public API bloat are removed,
|
|
289
|
+
justified, or reported.
|
|
235
290
|
- Any new abstraction hides a named responsibility and reduces caller knowledge, change spread, or
|
|
236
291
|
test mock cost.
|
|
237
292
|
- Behavior, public contracts, permissions, data ownership, and failure semantics remain intact or
|
|
@@ -276,11 +331,13 @@ design is clean.
|
|
|
276
331
|
## Output Format
|
|
277
332
|
|
|
278
333
|
- Module boundary reviewed
|
|
279
|
-
- Change reason and changed-file spread
|
|
334
|
+
- Change reason, change axes, stability direction, and changed-file spread
|
|
280
335
|
- Co-change, import direction, cycle, DTO, shared helper, public API, caller sequencing, and test mock
|
|
281
336
|
evidence
|
|
282
337
|
- Data owner, policy owner, failure owner, cache invalidation owner, config/time owner, and
|
|
283
338
|
authorization owner where relevant
|
|
339
|
+
- Change simulations and most-likely-to-rot modules
|
|
340
|
+
- Shallow module signals found, fixed, justified, or deferred
|
|
284
341
|
- Boundary fixes made or recommended
|
|
285
342
|
- Evidence level: current diff, local source evidence, history evidence, configured-test evidence,
|
|
286
343
|
missing, or not applicable
|
|
@@ -198,6 +198,12 @@ route_type = "adjunct"
|
|
|
198
198
|
priority = 76
|
|
199
199
|
applies_to_reasons = ["unknown_change", "code_change", "behavior_change", "test_change", "public_api_change", "performance_change"]
|
|
200
200
|
|
|
201
|
+
[routes."abstraction-boundary-review"]
|
|
202
|
+
category = "general_code"
|
|
203
|
+
route_type = "adjunct"
|
|
204
|
+
priority = 77
|
|
205
|
+
applies_to_reasons = ["unknown_change", "code_change", "behavior_change", "test_change", "public_api_change", "performance_change", "data_change"]
|
|
206
|
+
|
|
201
207
|
[routes."module-boundary-review"]
|
|
202
208
|
category = "general_code"
|
|
203
209
|
route_type = "adjunct"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: agents.root
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 20
|
|
6
6
|
lifecycle: user-editable
|
|
7
7
|
authority: binding
|
|
8
8
|
---
|
|
@@ -92,8 +92,17 @@ mustflow-managed details are under `.mustflow/`.
|
|
|
92
92
|
|
|
93
93
|
- When searching unfamiliar code, look for nearby `mf:anchor` comments and use them as
|
|
94
94
|
navigation metadata for durable responsibility boundaries.
|
|
95
|
+
- Source anchors are indexed into the local SQLite cache only when source indexing is enabled,
|
|
96
|
+
typically through a configured local-index intent such as `mf run local_index` or through
|
|
97
|
+
`mf index --source` when the command contract permits that command.
|
|
98
|
+
- Use `mf search --scope source <query>` to find source-anchor coordinates, or
|
|
99
|
+
`mf search --scope all <query>` when workflow documents and source anchors should be searched
|
|
100
|
+
together. Search results point to files, line numbers, anchor IDs, and risk tags that still need
|
|
101
|
+
to be read in the current source tree.
|
|
95
102
|
- Treat source anchors as navigation-only hints. They never grant command authority,
|
|
96
103
|
verification authority, or permission to skip current files, tests, or user instructions.
|
|
104
|
+
- If `mf search` reports a missing or stale index, refresh through the configured local-index
|
|
105
|
+
intent when available instead of treating old search rows as current evidence.
|
|
97
106
|
- When adding, changing, or relying on anchors for a source change, route through
|
|
98
107
|
`.mustflow/skills/source-anchor-authoring/SKILL.md` if installed.
|
|
99
108
|
|
|
@@ -106,6 +115,10 @@ mustflow-managed details are under `.mustflow/`.
|
|
|
106
115
|
Follow the stricter rule.
|
|
107
116
|
- When navigating to a nested repository, reread that repository's `AGENTS.md` and
|
|
108
117
|
`.mustflow/config/*.toml` before editing.
|
|
118
|
+
- In repository farms, prefer each child repository's own command contract for repository-owned
|
|
119
|
+
commands. If the parent root intentionally orchestrates children, split parent-owned commands
|
|
120
|
+
into repo-named fragments under `.mustflow/config/commands/`; use
|
|
121
|
+
`mf workspace command-fragments` for read-only guidance.
|
|
109
122
|
- Do not edit outside the selected child repository unless explicitly requested.
|
|
110
123
|
|
|
111
124
|
## Host-Specific Instruction Compatibility
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: agents.root
|
|
3
3
|
locale: ko
|
|
4
4
|
canonical: false
|
|
5
|
-
revision:
|
|
5
|
+
revision: 27
|
|
6
6
|
lifecycle: user-editable
|
|
7
7
|
authority: binding
|
|
8
8
|
---
|
|
@@ -60,7 +60,10 @@ mustflow가 관리하는 세부 문서와 설정은 `.mustflow/` 폴더 아래
|
|
|
60
60
|
## 소스 앵커
|
|
61
61
|
|
|
62
62
|
- 익숙하지 않은 코드를 탐색할 때는 주변 `mf:anchor` 주석을 찾아보고, 오래 유지되는 책임 경계를 찾기 위한 탐색 메타데이터로 사용합니다.
|
|
63
|
+
- 소스 앵커는 소스 색인이 켜져 있을 때만 로컬 SQLite 캐시에 들어갑니다. 보통 `mf run local_index` 같은 설정된 로컬 색인 인텐트를 통하거나, 명령 계약이 해당 명령을 허용하는 경우 `mf index --source`로 색인합니다.
|
|
64
|
+
- `mf search --scope source <query>`로 소스 앵커 좌표를 찾고, 워크플로우 문서와 소스 앵커를 함께 찾아야 할 때는 `mf search --scope all <query>`를 사용합니다. 검색 결과는 파일, 줄 번호, 앵커 ID, risk tag를 가리키는 탐색 좌표일 뿐이며, 현재 소스 파일을 다시 읽어야 합니다.
|
|
63
65
|
- 소스 앵커는 탐색용 힌트일 뿐입니다. 명령 실행 권한, 검증 권한, 현재 파일/테스트/사용자 지시를 건너뛸 권한을 부여하지 않습니다.
|
|
66
|
+
- `mf search`가 색인 누락이나 오래된 색인을 보고하면, 오래된 검색 행을 현재 근거로 삼지 말고 가능한 경우 설정된 로컬 색인 인텐트로 새로 고칩니다.
|
|
64
67
|
- 소스 변경에서 앵커를 추가하거나 수정하거나 앵커에 의존해야 한다면, 설치되어 있는 경우 `.mustflow/skills/source-anchor-authoring/SKILL.md` 절차를 따릅니다.
|
|
65
68
|
|
|
66
69
|
## 상위/하위 규칙 우선순위
|
|
@@ -69,6 +72,7 @@ mustflow가 관리하는 세부 문서와 설정은 `.mustflow/` 폴더 아래
|
|
|
69
72
|
- 작업 방식, 코드 스타일, 테스트 방식, 명령 실행 규칙이 충돌할 경우 하위 저장소의 `AGENTS.md`와 `.mustflow/config/commands.toml`을 우선합니다.
|
|
70
73
|
- 보안, 비밀 정보, 개인정보, 파괴적 명령, 수정 가능 경로 등 안전 규칙은 누적 적용하며 더 엄격한 규칙을 따릅니다.
|
|
71
74
|
- 상위 작업 공간에서 하위 저장소로 진입한 경우, 하위 저장소의 `AGENTS.md`와 `.mustflow/config/*.toml`을 다시 읽은 뒤 작업합니다.
|
|
75
|
+
- repository farm에서는 각 하위 저장소가 소유한 명령은 해당 저장소의 command contract를 우선합니다. 상위 루트가 하위 저장소를 의도적으로 orchestration해야 한다면 상위 소유 명령을 `.mustflow/config/commands/` 아래 repo 이름별 fragment로 나누고, `mf workspace command-fragments`로 읽기 전용 안내를 확인합니다.
|
|
72
76
|
- 명시적 요청 없이 선택한 하위 저장소 밖의 파일은 수정하지 않습니다.
|
|
73
77
|
|
|
74
78
|
## 호스트별 지침 호환성
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id = "default"
|
|
2
2
|
name = "default"
|
|
3
|
-
version = "2.112.
|
|
3
|
+
version = "2.112.7"
|
|
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"
|
|
@@ -27,6 +27,7 @@ creates = [
|
|
|
27
27
|
".mustflow/skills/code-review/SKILL.md",
|
|
28
28
|
".mustflow/skills/ai-generated-code-hardening/SKILL.md",
|
|
29
29
|
".mustflow/skills/quality-gaming-guard/SKILL.md",
|
|
30
|
+
".mustflow/skills/abstraction-boundary-review/SKILL.md",
|
|
30
31
|
".mustflow/skills/module-boundary-review/SKILL.md",
|
|
31
32
|
".mustflow/skills/change-blast-radius-review/SKILL.md",
|
|
32
33
|
".mustflow/skills/business-rule-leakage-review/SKILL.md",
|
|
@@ -234,6 +235,7 @@ after_install = [
|
|
|
234
235
|
"Read AGENTS.md for repository-specific working rules.",
|
|
235
236
|
"Run mf doctor to inspect the current state before editing.",
|
|
236
237
|
"Generate REPO_MAP.md with mf map when a repository map is needed.",
|
|
238
|
+
"For repo farms under projects/, run mf workspace command-fragments --projects-dir projects --json before putting many child-repository commands in one parent command file.",
|
|
237
239
|
"Review the default Bun-backed test intents in .mustflow/config/commands.toml and replace them with narrower project commands when useful.",
|
|
238
240
|
"Add your lint and build commands to .mustflow/config/commands.toml.",
|
|
239
241
|
"Review repository-specific language and style defaults in .mustflow/config/preferences.toml.",
|
|
@@ -261,6 +263,7 @@ minimal = [
|
|
|
261
263
|
"code-review",
|
|
262
264
|
"ai-generated-code-hardening",
|
|
263
265
|
"quality-gaming-guard",
|
|
266
|
+
"abstraction-boundary-review",
|
|
264
267
|
"module-boundary-review",
|
|
265
268
|
"change-blast-radius-review",
|
|
266
269
|
"business-rule-leakage-review",
|
|
@@ -430,6 +433,7 @@ patterns = [
|
|
|
430
433
|
"code-review",
|
|
431
434
|
"ai-generated-code-hardening",
|
|
432
435
|
"quality-gaming-guard",
|
|
436
|
+
"abstraction-boundary-review",
|
|
433
437
|
"module-boundary-review",
|
|
434
438
|
"change-blast-radius-review",
|
|
435
439
|
"business-rule-leakage-review",
|
|
@@ -610,6 +614,7 @@ oss = [
|
|
|
610
614
|
"code-review",
|
|
611
615
|
"ai-generated-code-hardening",
|
|
612
616
|
"quality-gaming-guard",
|
|
617
|
+
"abstraction-boundary-review",
|
|
613
618
|
"module-boundary-review",
|
|
614
619
|
"change-blast-radius-review",
|
|
615
620
|
"business-rule-leakage-review",
|
|
@@ -808,6 +813,7 @@ team = [
|
|
|
808
813
|
"code-review",
|
|
809
814
|
"ai-generated-code-hardening",
|
|
810
815
|
"quality-gaming-guard",
|
|
816
|
+
"abstraction-boundary-review",
|
|
811
817
|
"module-boundary-review",
|
|
812
818
|
"change-blast-radius-review",
|
|
813
819
|
"business-rule-leakage-review",
|
|
@@ -991,6 +997,7 @@ product = [
|
|
|
991
997
|
"code-review",
|
|
992
998
|
"ai-generated-code-hardening",
|
|
993
999
|
"quality-gaming-guard",
|
|
1000
|
+
"abstraction-boundary-review",
|
|
994
1001
|
"module-boundary-review",
|
|
995
1002
|
"change-blast-radius-review",
|
|
996
1003
|
"business-rule-leakage-review",
|
|
@@ -1180,6 +1187,7 @@ library = [
|
|
|
1180
1187
|
"code-review",
|
|
1181
1188
|
"ai-generated-code-hardening",
|
|
1182
1189
|
"quality-gaming-guard",
|
|
1190
|
+
"abstraction-boundary-review",
|
|
1183
1191
|
"module-boundary-review",
|
|
1184
1192
|
"change-blast-radius-review",
|
|
1185
1193
|
"business-rule-leakage-review",
|