mustflow 2.27.0 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/context.js +1 -0
  3. package/dist/cli/commands/help.js +55 -1
  4. package/dist/cli/commands/tech.js +346 -0
  5. package/dist/cli/i18n/en.js +1 -0
  6. package/dist/cli/i18n/es.js +1 -0
  7. package/dist/cli/i18n/fr.js +1 -0
  8. package/dist/cli/i18n/hi.js +1 -0
  9. package/dist/cli/i18n/ko.js +1 -0
  10. package/dist/cli/i18n/zh.js +1 -0
  11. package/dist/cli/index.js +1 -0
  12. package/dist/cli/lib/agent-context.js +16 -0
  13. package/dist/cli/lib/command-registry.js +6 -0
  14. package/dist/cli/lib/run-plan.js +11 -3
  15. package/dist/cli/lib/validation/index.js +11 -0
  16. package/dist/cli/lib/validation/primitives.js +5 -0
  17. package/dist/core/command-contract-validation.js +15 -12
  18. package/dist/core/command-env.js +43 -0
  19. package/dist/core/command-intent-eligibility.js +2 -1
  20. package/dist/core/contract-lint.js +2 -1
  21. package/dist/core/technology-preferences.js +189 -0
  22. package/package.json +1 -1
  23. package/schemas/commands.schema.json +4 -1
  24. package/schemas/context-report.schema.json +61 -0
  25. package/templates/default/common/.mustflow/config/commands.toml +1 -0
  26. package/templates/default/common/.mustflow/config/mustflow.toml +8 -0
  27. package/templates/default/common/.mustflow/config/technology.toml +20 -0
  28. package/templates/default/i18n.toml +78 -12
  29. package/templates/default/locales/en/.mustflow/skills/INDEX.md +33 -1
  30. package/templates/default/locales/en/.mustflow/skills/code-review/SKILL.md +15 -5
  31. package/templates/default/locales/en/.mustflow/skills/codebase-orientation/SKILL.md +15 -8
  32. package/templates/default/locales/en/.mustflow/skills/command-intent-mapping-gate/SKILL.md +124 -0
  33. package/templates/default/locales/en/.mustflow/skills/completion-evidence-gate/SKILL.md +178 -0
  34. package/templates/default/locales/en/.mustflow/skills/contract-sync-check/SKILL.md +9 -3
  35. package/templates/default/locales/en/.mustflow/skills/dependency-reality-check/SKILL.md +6 -3
  36. package/templates/default/locales/en/.mustflow/skills/evidence-stall-breaker/SKILL.md +166 -0
  37. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +8 -6
  38. package/templates/default/locales/en/.mustflow/skills/provenance-license-gate/SKILL.md +131 -0
  39. package/templates/default/locales/en/.mustflow/skills/public-json-contract-change/SKILL.md +133 -0
  40. package/templates/default/locales/en/.mustflow/skills/restricted-handoff-resume/SKILL.md +122 -0
  41. package/templates/default/locales/en/.mustflow/skills/routes.toml +60 -0
  42. package/templates/default/locales/en/.mustflow/skills/runtime-target-selection/SKILL.md +203 -0
  43. package/templates/default/locales/en/.mustflow/skills/rust-code-change/SKILL.md +55 -18
  44. package/templates/default/locales/en/.mustflow/skills/secret-exposure-response/SKILL.md +125 -0
  45. package/templates/default/locales/en/.mustflow/skills/security-privacy-review/SKILL.md +10 -1
  46. package/templates/default/locales/en/.mustflow/skills/skill-authoring/SKILL.md +9 -5
  47. package/templates/default/locales/en/.mustflow/skills/source-freshness-check/SKILL.md +3 -2
  48. package/templates/default/locales/en/.mustflow/skills/structure-first-engineering/SKILL.md +205 -0
  49. package/templates/default/locales/en/.mustflow/skills/template-install-surface-sync/SKILL.md +131 -0
  50. package/templates/default/locales/en/AGENTS.md +8 -7
  51. package/templates/default/locales/ko/AGENTS.md +8 -7
  52. package/templates/default/manifest.toml +66 -1
@@ -0,0 +1,205 @@
1
+ ---
2
+ mustflow_doc: skill.structure-first-engineering
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: structure-first-engineering
9
+ description: Apply this skill as an adjunct for non-trivial code changes where early structure decisions affect domain rules, public contracts, external I/O, operational safety, testability, error handling, concurrency, data flow, or future change cost.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.structure-first-engineering
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - test_related
19
+ - test
20
+ - lint
21
+ - build
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # Structure-First Engineering
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Make structural decisions before coding when the wrong boundary would be expensive to unwind.
33
+
34
+ This skill is not anti-abstraction. It assumes high-quality structure can be cheap to create with
35
+ LLM help, while late boundary repair can be expensive. Invest early in hard-to-reverse boundaries,
36
+ but reject abstractions that do not lower change cost, failure risk, or cognitive load.
37
+
38
+ <!-- mustflow-section: use-when -->
39
+ ## Use When
40
+
41
+ - A code task changes domain rules, public contracts, external I/O, persistence, authorization, concurrency, operational behavior, or error semantics.
42
+ - A task needs a new module boundary, use case, adapter, DTO, schema, state transition, result type, provider boundary, or testable core.
43
+ - The user asks to think like a senior or long-experienced engineer, design well up front, avoid later rewrites, or prevent structural debt.
44
+ - A proposed implementation could mix validation, transformation, domain decisions, I/O, formatting, and output mapping in one place.
45
+ - A change could create hard-to-reverse coupling to a framework, provider response, database shape, CLI/API schema, local filesystem, time, randomness, environment, process memory, queue, webhook, or worker behavior.
46
+ - A bug fix reveals that failures, retries, partial success, or duplicated effects are not modeled clearly.
47
+
48
+ <!-- mustflow-section: do-not-use-when -->
49
+ ## Do Not Use When
50
+
51
+ - The task is a surface-only documentation, copy, comment, log wording, or UI text change with no execution-path risk.
52
+ - A narrow pattern skill is already sufficient and the risk block would add no new decision.
53
+ - The user explicitly asks for analysis-only code review; use `code-review` or `architecture-deepening-review` unless implementation will follow.
54
+ - The task is a tiny local logic change with obvious inputs, outputs, tests, and no contract or I/O boundary.
55
+ - The proposed structure is only a file split, naming wrapper, `Service`, `Manager`, `Handler`, factory, or interface without a concrete pressure it removes.
56
+
57
+ <!-- mustflow-section: required-inputs -->
58
+ ## Required Inputs
59
+
60
+ - User request, target files, project context if known, and current repository instructions.
61
+ - Existing source, tests, schemas, templates, contracts, docs, and nearby local patterns for the affected boundary.
62
+ - Current or expected data flow: input, validation, transformation, storage or external calls, and output.
63
+ - Failure classes: user input, authorization, business rule, external system, transient fault, concurrency, partial failure, and recovery path.
64
+ - Public contracts affected: API response, CLI output, config schema, database schema, event, queue, webhook, migration, docs example, or user-visible behavior.
65
+ - Relevant command-intent contract entries for verification.
66
+
67
+ <!-- mustflow-section: preconditions -->
68
+ ## Preconditions
69
+
70
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
71
+ - Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
72
+ - Skill-selection has chosen one main implementation skill when applicable; this skill normally acts as an adjunct gate.
73
+ - Missing product, domain, compatibility, security, or migration decisions are either safely inferable from repository evidence or routed through a clarification gate.
74
+
75
+ <!-- mustflow-section: allowed-edits -->
76
+ ## Allowed Edits
77
+
78
+ - Add or adjust boundaries, types, DTOs, pure domain functions, adapters, mappers, result/error models, tests, and docs that are directly required by the changed behavior.
79
+ - Structure the implementation at module scale when it lowers change cost, isolates external volatility, or makes failure and tests explicit.
80
+ - Do not add vague layers named only `Service`, `Manager`, `Handler`, `Helper`, or `Factory` unless the responsibility and volatility hidden by that layer are named.
81
+ - Do not split files solely because they are large.
82
+ - Do not invent dependency installation, migration execution, external services, or command authority.
83
+
84
+ <!-- mustflow-section: procedure -->
85
+ ## Procedure
86
+
87
+ 1. Print or internally prepare a risk block before editing. If the host or user-facing flow makes pre-edit output noisy, keep the block as working notes and include the relevant parts in the final report.
88
+
89
+ ```text
90
+ [Work risk]: surface change | local logic change | domain rule change | public contract change | external I/O change | operational risk change
91
+ [Project context]: prototype | staging | production | unknown
92
+ [Core boundary]: domain/API/I/O/contract being touched
93
+ [Data flow]: input -> validation -> transformation -> storage/call -> output
94
+ [Failure points]: expected failures and handling strategy
95
+ [Test contract]: tests or reproduction/verification commands to add, update, or run
96
+ [Structure change]: needed/not needed, with reason
97
+ ```
98
+
99
+ 2. Classify the highest applicable work risk.
100
+ - Surface change: keep edits narrow and avoid structure changes.
101
+ - Local logic change: keep cleanup within the module and add or update focused tests.
102
+ - Domain rule change: isolate rules from I/O and framework delivery; prefer pure functions or use-case boundaries.
103
+ - Public contract change: preserve compatibility when possible and pin schema, fixture, snapshot, or contract tests.
104
+ - External I/O change: isolate the adapter, timeout and retry behavior, partial failure, and provider response mapping.
105
+ - Operational risk change: treat security, money, audit, deletion, concurrency, and recovery as highest intensity.
106
+ 3. Decide whether structure is allowed. Require at least one real pressure:
107
+ - responsibility separation is necessary;
108
+ - tests are tied to external factors;
109
+ - public contracts and internal representation are mixed;
110
+ - error categories are implicit or wrong;
111
+ - domain rules are duplicated;
112
+ - change impact is too broad;
113
+ - provider, framework, filesystem, network, time, randomness, or environment volatility leaks into domain logic.
114
+ 4. Control abstraction.
115
+ - Create an interface, factory, strategy, mapper, adapter, or use case only when there are at least two implementations, external volatility to hide, tests need control, a public contract must stay stable, a high-change area needs isolation, or duplicated domain rules need one owner.
116
+ - Name the responsibility in domain words. If the best name is only `Service`, `Manager`, `Handler`, or `Helper`, the boundary is probably still unclear.
117
+ 5. Trace data flow end to end.
118
+ - Keep system boundaries behind DTOs, schemas, interfaces, or mappers.
119
+ - Convert external API, database, CLI, event, or UI payloads into internal types near the boundary.
120
+ - Keep domain data immutable when practical.
121
+ - Avoid spreading raw `any`, broad `unknown`, provider response shapes, request bodies, or ORM records through the domain core.
122
+ 6. Model expected failures explicitly.
123
+ - Use local Result, Option, typed error, status object, or existing project convention for expected failures.
124
+ - Separate user-facing messages from debugging detail.
125
+ - Do not swallow exceptions or convert all failures into generic false, null, or success-with-warning states.
126
+ - Classify failures as input, auth/permission, business rule, external system, transient, concurrency, or partial failure.
127
+ 7. Isolate external I/O and unstable inputs.
128
+ - Keep domain rules from directly calling network, database, filesystem, clock, random, UUID, process environment, or framework request objects.
129
+ - Inject time, randomness, UUID, environment, and external clients when tests or determinism need control.
130
+ - Guard duplicate execution, timeout-unknown state, concurrent updates, partial failure, and compensation failure in code or explicitly report why the risk is not relevant.
131
+ 8. Protect public contracts.
132
+ - Treat API response/status codes, CLI output/exit codes, config schemas, database schemas/migrations, event/queue/webhook payloads, and docs examples as more stable than implementation shape.
133
+ - When a contract changes, synchronize docs, fixtures, schema, migration, generated clients, and tests that encode that contract.
134
+ 9. Set the test contract before or during implementation.
135
+ - Test pure logic without I/O.
136
+ - Make time, randomness, and environment controllable.
137
+ - For bug fixes, include a failing reproduction or explain why one is impossible.
138
+ - Name tests after the guarantee, not the implementation detail.
139
+ - Avoid mock-only confidence, meaningless copied fixtures, and snapshot-heavy approval unless the snapshot is the real contract.
140
+ 10. Check observability, security, and performance for risky paths.
141
+ - Add structured logs or trace/request IDs for important state transitions when the project has logging conventions.
142
+ - Keep authentication and authorization separate from untrusted input parsing and business rules.
143
+ - Remove I/O from tight loops or name why it is bounded. Include cache invalidation or freshness strategy when adding cache behavior.
144
+ 11. Handle verification failure by classifying the cause before changing more code:
145
+ - real regression;
146
+ - existing failure;
147
+ - wrong contract test;
148
+ - environment, dependency, or flaky issue.
149
+ If the cause is unknown, do not claim completion.
150
+ 12. If you intentionally skip a rule, record the exception:
151
+
152
+ ```text
153
+ [Exception applied]: skipped rule and reason
154
+ [Risk]: possible consequence
155
+ [Compensation]: test, TODO, docs, or follow-up
156
+ ```
157
+
158
+ <!-- mustflow-section: postconditions -->
159
+ ## Postconditions
160
+
161
+ - The highest work risk is named and the structure decision matches that risk.
162
+ - Domain rules, public contracts, adapters, data flow, and error handling have clear owners when touched.
163
+ - External I/O and unstable inputs are behind testable boundaries when relevant.
164
+ - Concurrency, partial failure, idempotency, and recovery are handled or explicitly marked not relevant.
165
+ - Tests or verification commands cover the behavior and contract actually changed.
166
+ - Any exception to the structure-first rules is reported with risk and compensation.
167
+
168
+ <!-- mustflow-section: verification -->
169
+ ## Verification
170
+
171
+ Use configured oneshot command intents when available:
172
+
173
+ - `changes_status`
174
+ - `changes_diff_summary`
175
+ - `lint`
176
+ - `build`
177
+ - `test_related`
178
+ - `test`
179
+ - `docs_validate_fast`
180
+ - `test_release`
181
+ - `mustflow_check`
182
+
183
+ Choose the narrowest configured verification that covers the highest work risk. Use release or docs checks when public contracts, templates, package metadata, schemas, or docs examples change.
184
+
185
+ <!-- mustflow-section: failure-handling -->
186
+ ## Failure Handling
187
+
188
+ - If the risk block exposes a missing product, security, migration, or compatibility decision, stop and ask or use the clarifying-question gate.
189
+ - If structure pressure is weak, do the narrow implementation and report that structure was intentionally deferred.
190
+ - If the implementation starts becoming a broad rewrite, stop and split the work into a smaller boundary-preserving step.
191
+ - If tests require too many mocks, revisit the boundary instead of weakening assertions.
192
+ - If a configured command fails, switch to `failure-triage` before claiming completion.
193
+
194
+ <!-- mustflow-section: output-format -->
195
+ ## Output Format
196
+
197
+ - Work risk and project context
198
+ - Core boundary and data flow
199
+ - Structure decision and reason
200
+ - Failure model, I/O boundary, concurrency, and partial-failure notes
201
+ - Public contract impact
202
+ - Tests added, updated, or intentionally not added
203
+ - Command intents run
204
+ - Exceptions applied, if any
205
+ - Remaining structure risk
@@ -0,0 +1,131 @@
1
+ ---
2
+ mustflow_doc: skill.template-install-surface-sync
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: template-install-surface-sync
9
+ description: Apply this skill when mustflow template install surfaces, template manifests, skill profiles, locale source files, init or update behavior, managed file lists, package inclusion, template command contracts, or source-to-template workflow copies are created, changed, reviewed, or reported.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.template-install-surface-sync
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - test_related
19
+ - docs_validate_fast
20
+ - test_release
21
+ - mustflow_check
22
+ ---
23
+
24
+ # Template Install Surface Sync
25
+
26
+ <!-- mustflow-section: purpose -->
27
+ ## Purpose
28
+
29
+ Keep the source repository's mustflow workflow files, install templates, manifests, profiles, locale policy, init/update behavior, and package tests aligned without blindly copying surfaces that must intentionally differ.
30
+
31
+ <!-- mustflow-section: use-when -->
32
+ ## Use When
33
+
34
+ - A mustflow-owned file is added, removed, renamed, or materially changed and that file may be installed by the default template.
35
+ - Template `creates`, `skill_profiles`, locale source files, install policy, conflict policy, managed targets, generated targets, or forbidden targets change.
36
+ - `.mustflow/skills/*`, `.mustflow/skills/INDEX.md`, `.mustflow/skills/routes.toml`, `AGENTS.md`, `.mustflow/docs/agent-workflow.md`, template configs, or template command contracts are changed.
37
+ - `mf init`, `mf update`, manifest locks, backup behavior, package inclusion, release tests, or docs examples depend on installed template files.
38
+
39
+ <!-- mustflow-section: do-not-use-when -->
40
+ ## Do Not Use When
41
+
42
+ - The task changes only a normal downstream project that consumes mustflow and does not modify the template source or install/update behavior.
43
+ - The change affects a declared contract but no install template, profile, locale, init, update, or package surface; use `contract-sync-check`.
44
+ - The task is only creating or editing a skill procedure; use `skill-authoring` first, then use this skill only if the skill is installed by a template.
45
+ - The user explicitly requests a local experiment that should not be reflected in install templates.
46
+
47
+ <!-- mustflow-section: required-inputs -->
48
+ ## Required Inputs
49
+
50
+ - Changed-file list and the intended installed behavior.
51
+ - Source repository file, canonical template copy, and any localized source files.
52
+ - `templates/default/manifest.toml` entries: `creates`, `skill_profiles`, locale metadata, install policy, managed targets, generated targets, forbidden targets, and conflict policy.
53
+ - Init/update source code, package inclusion metadata, release or install tests, docs examples, and manifest-lock behavior that mention the changed surface.
54
+ - Intentional divergence rules between source and template copies.
55
+ - Relevant command-intent entries for related tests, docs validation, release checks, and mustflow validation.
56
+
57
+ <!-- mustflow-section: preconditions -->
58
+ ## Preconditions
59
+
60
+ - The task matches the Use When conditions and does not match the Do Not Use When exclusions.
61
+ - Canonical source locale and template locale policy are known.
62
+ - Existing template manifest and nearby tests have been inspected before adding or removing installed files.
63
+ - Command execution remains governed by `.mustflow/config/commands.toml`; this skill does not authorize raw commands.
64
+
65
+ <!-- mustflow-section: allowed-edits -->
66
+ ## Allowed Edits
67
+
68
+ - Update source workflow files, canonical template copies, route metadata, manifest `creates`, profile membership, locale metadata, install/update tests, docs examples, and package file lists that own the same installed surface.
69
+ - Add explicit divergence notes in skill or docs text when source and template behavior must differ.
70
+ - Do not blindly copy the source repository's real command contract into a default template.
71
+ - Do not install specialist skills into every profile unless the trigger is broadly useful for that profile.
72
+ - Do not update localized skill copies unless that locale intentionally maintains translated skill text and review is available.
73
+ - Do not manually edit generated manifest locks or generated repository maps unless a configured intent owns the generated output.
74
+
75
+ <!-- mustflow-section: procedure -->
76
+ ## Procedure
77
+
78
+ 1. Name the installed surface being changed: root instructions, workflow docs, skill body, skill index, route metadata, context file, config file, command contract, preference, template manifest, locale file, init/update behavior, package artifact, docs example, or release test.
79
+ 2. Classify each surface as must-match, intentionally-divergent, generated, package-only, docs-only, or not-installed.
80
+ 3. For must-match surfaces, update the source file and canonical template copy together. Examples include skill bodies, route metadata, skill index entries, managed workflow docs, and installable context or config defaults.
81
+ 4. For intentionally-divergent surfaces, preserve the divergence and document the reason in the procedure or final report. Source repository command contracts usually contain real maintainer commands, while template command contracts should remain placeholders, unknown, or manual-only until a downstream project configures them.
82
+ 5. Check `templates/default/manifest.toml`. Add new installable files to `creates`, remove deleted files, and place new skills only in profiles that would genuinely benefit from the route.
83
+ 6. Check locale policy. Use the source locale as canonical. Non-source template locales may fall back to source-locale skill text unless translated skill text is intentionally maintained and review is available.
84
+ 7. Check route alignment. `.mustflow/skills/INDEX.md` and `.mustflow/skills/routes.toml` must agree on route names, category, route type, priority intent, and expected verification intent names.
85
+ 8. Check install/update behavior. If new files, profile membership, conflict policy, or managed targets change, inspect init/update tests and package tests that assert installed output, manifest lock behavior, backups, or diff previews.
86
+ 9. Check package and release surfaces. Installed template files must be included in package output and covered by release-sensitive tests when the package includes templates.
87
+ 10. Check public docs and examples only when they list installed files, profiles, init/update behavior, or workflow expectations.
88
+ 11. Keep generated files generated. Refresh generated maps or package output only with configured intents, and report generated surfaces that are stale but outside the current allowed command set.
89
+ 12. Verify with related tests first, then release and docs checks when package, template, manifest, or docs surfaces changed.
90
+
91
+ <!-- mustflow-section: postconditions -->
92
+ ## Postconditions
93
+
94
+ - Source and template surfaces match where they should match and intentionally diverge where they should diverge.
95
+ - Manifest `creates`, skill profiles, locale policy, install/update behavior, package inclusion, tests, and docs agree with the installed surface.
96
+ - Any deferred locale, docs, package, or generated surface is named with risk.
97
+
98
+ <!-- mustflow-section: verification -->
99
+ ## Verification
100
+
101
+ Use configured oneshot command intents when available:
102
+
103
+ - `changes_status`
104
+ - `changes_diff_summary`
105
+ - `test_related`
106
+ - `docs_validate_fast`
107
+ - `test_release`
108
+ - `mustflow_check`
109
+
110
+ Use broader configured tests when init, update, package inclusion, or release behavior is cross-cutting or no narrower related test covers the template surface.
111
+
112
+ <!-- mustflow-section: failure-handling -->
113
+ ## Failure Handling
114
+
115
+ - If `mustflow_check` reports route or manifest drift, fix the source/template metadata mismatch before changing unrelated files.
116
+ - If template tests fail after adding a file, check `creates`, profile membership, package inclusion, locale metadata, and generated map freshness before changing behavior.
117
+ - If source and template command contracts differ, do not normalize them unless the divergence is proven accidental.
118
+ - If a skill seems useful but profile impact is unclear, keep it out of narrow profiles and report the profile decision.
119
+ - If localized surfaces cannot be confidently updated, keep canonical source metadata accurate and mark translation review instead of guessing.
120
+
121
+ <!-- mustflow-section: output-format -->
122
+ ## Output Format
123
+
124
+ - Installed template surface changed
125
+ - Must-match surfaces synchronized
126
+ - Intentional divergences preserved
127
+ - Manifest creates and profiles updated
128
+ - Locale, init/update, package, docs, and tests checked
129
+ - Command intents run
130
+ - Skipped checks and reasons
131
+ - Remaining template drift risk
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: agents.root
3
3
  locale: en
4
4
  canonical: true
5
- revision: 13
5
+ revision: 14
6
6
  lifecycle: user-editable
7
7
  authority: binding
8
8
  ---
@@ -20,13 +20,14 @@ mustflow-managed details are under `.mustflow/`.
20
20
  3. `.mustflow/config/mustflow.toml`
21
21
  4. `.mustflow/config/commands.toml`
22
22
  5. `.mustflow/config/preferences.toml` if present
23
- 6. `.mustflow/skills/INDEX.md`
24
- 7. `.mustflow/context/INDEX.md` only when the task needs project, product, domain,
23
+ 6. `.mustflow/config/technology.toml` if present
24
+ 7. `.mustflow/skills/INDEX.md`
25
+ 8. `.mustflow/context/INDEX.md` only when the task needs project, product, domain,
25
26
  UI, backend, data, security, or operations context
26
- 8. The matching `.mustflow/context/<name>.md` files, only when selected by the context index
27
- 9. The matching `.mustflow/skills/<name>/SKILL.md`
28
- 10. `REPO_MAP.md` only when broader repository navigation is needed
29
- 11. Relevant source, test, and documentation files
27
+ 9. The matching `.mustflow/context/<name>.md` files, only when selected by the context index
28
+ 10. The matching `.mustflow/skills/<name>/SKILL.md`
29
+ 11. `REPO_MAP.md` only when broader repository navigation is needed
30
+ 12. Relevant source, test, and documentation files
30
31
 
31
32
  ## Core Rules
32
33
 
@@ -2,7 +2,7 @@
2
2
  mustflow_doc: agents.root
3
3
  locale: ko
4
4
  canonical: false
5
- revision: 20
5
+ revision: 21
6
6
  lifecycle: user-editable
7
7
  authority: binding
8
8
  ---
@@ -20,13 +20,14 @@ mustflow가 관리하는 세부 문서와 설정은 `.mustflow/` 폴더 아래
20
20
  3. `.mustflow/config/mustflow.toml`
21
21
  4. `.mustflow/config/commands.toml`
22
22
  5. `.mustflow/config/preferences.toml` (있다면)
23
- 6. `.mustflow/skills/INDEX.md`
24
- 7. 프로젝트, 제품, 도메인, UI, 백엔드, 데이터, 보안, 운영 컨텍스트가 필요한 경우
23
+ 6. `.mustflow/config/technology.toml` (있다면)
24
+ 7. `.mustflow/skills/INDEX.md`
25
+ 8. 프로젝트, 제품, 도메인, UI, 백엔드, 데이터, 보안, 운영 컨텍스트가 필요한 경우
25
26
  `.mustflow/context/INDEX.md`
26
- 8. 컨텍스트 색인에서 선택된 `.mustflow/context/<name>.md` 파일
27
- 9. 현재 작업과 관련된 `.mustflow/skills/<name>/SKILL.md`
28
- 10. 넓은 저장소 탐색이 필요할 때만 `REPO_MAP.md`
29
- 11. 관련 소스, 테스트, 문서 파일
27
+ 9. 컨텍스트 색인에서 선택된 `.mustflow/context/<name>.md` 파일
28
+ 10. 현재 작업과 관련된 `.mustflow/skills/<name>/SKILL.md`
29
+ 11. 넓은 저장소 탐색이 필요할 때만 `REPO_MAP.md`
30
+ 12. 관련 소스, 테스트, 문서 파일
30
31
 
31
32
  ## 핵심 규칙
32
33