mustflow 2.58.1 → 2.68.6
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 +4 -0
- package/dist/cli/commands/context.js +81 -6
- package/dist/cli/commands/quality.js +89 -0
- package/dist/cli/commands/skill.js +116 -0
- package/dist/cli/i18n/en.js +16 -0
- package/dist/cli/i18n/es.js +16 -0
- package/dist/cli/i18n/fr.js +16 -0
- package/dist/cli/i18n/hi.js +16 -0
- package/dist/cli/i18n/ko.js +16 -0
- package/dist/cli/i18n/zh.js +16 -0
- package/dist/cli/index.js +1 -0
- package/dist/cli/lib/agent-context.js +981 -8
- package/dist/cli/lib/command-registry.js +12 -0
- package/dist/cli/lib/local-index/constants.js +4 -5
- package/dist/cli/lib/local-index/freshness.js +5 -1
- package/dist/cli/lib/local-index/index.js +1 -1
- package/dist/cli/lib/repo-map.js +7 -1
- package/dist/cli/lib/validation/constants.js +3 -0
- package/dist/cli/lib/validation/index.js +41 -2
- package/dist/core/check-issues.js +5 -0
- package/dist/core/prompt-cache-rendering.js +19 -0
- package/dist/core/public-json-contracts.js +35 -0
- package/dist/core/quality-gaming.js +304 -0
- package/dist/core/skill-route-fixtures.js +173 -0
- package/dist/core/skill-route-resolution.js +398 -0
- package/dist/core/source-anchors.js +91 -5
- package/package.json +1 -1
- package/schemas/README.md +9 -1
- package/schemas/context-report.schema.json +442 -0
- package/schemas/quality-gaming-report.schema.json +96 -0
- package/schemas/route-fixture.schema.json +57 -0
- package/schemas/skill-route-report.schema.json +242 -0
- package/templates/default/common/.mustflow/config/commands.toml +34 -2
- package/templates/default/common/.mustflow/config/mustflow.toml +16 -10
- package/templates/default/i18n.toml +14 -8
- package/templates/default/locales/en/.mustflow/context/PROJECT.md +5 -3
- package/templates/default/locales/en/.mustflow/docs/agent-workflow.md +13 -9
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +3 -2
- package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +5 -2
- package/templates/default/locales/en/.mustflow/skills/quality-gaming-guard/SKILL.md +165 -0
- package/templates/default/locales/en/.mustflow/skills/router.toml +67 -0
- package/templates/default/locales/en/.mustflow/skills/routes.toml +6 -0
- package/templates/default/locales/en/AGENTS.md +15 -7
- package/templates/default/locales/ko/.mustflow/context/PROJECT.md +4 -2
- package/templates/default/locales/ko/.mustflow/docs/agent-workflow.md +18 -12
- package/templates/default/locales/ko/AGENTS.md +8 -6
- package/templates/default/manifest.toml +9 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: skills.index
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 169
|
|
6
6
|
authority: router
|
|
7
7
|
lifecycle: mustflow-owned
|
|
8
8
|
---
|
|
@@ -371,9 +371,10 @@ routes. Event routes stay inactive until their event occurs.
|
|
|
371
371
|
| 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 |
|
|
372
372
|
| Large-scope code, docs, tests, content, log, data, or refactor work needs cheap-signal candidate selection before reading or editing many files | `.mustflow/skills/heuristic-candidate-selection/SKILL.md` | User goal, target scope, file-role boundaries, cheap signals, exclusions, scoring factors, batch limit, and verification contract | Candidate discovery, scoring, read plan, bounded batch edits, and directly synchronized surfaces | token waste, false positives, generated-file noise, unimportant cleanup, hallucinated source content, oversized diff, or missed high-impact file | `changes_status`, `changes_diff_summary`, `test_related`, `docs_validate_fast`, `test_release`, `mustflow_check` | Selection goal, excluded surfaces, cheap signals, scored candidates, selected batch, skipped/deferred files, verification, and remaining selection risk |
|
|
373
373
|
| Assistant-authored, AI-generated, vibe-coded, copied, or broad code changes need a hardening pass for symptom-only fixes, pinpoint hardcoding, exact-value branches, same-defect-class sibling inputs or callers, duplicate helpers, duplicate types or shapes, hidden coupling, circular dependencies, re-export discipline, swallowed errors, excessive nesting, god functions or files, edge cases, and behavior-focused tests | `.mustflow/skills/ai-generated-code-hardening/SKILL.md` | User goal, current diff or target files, reported symptom or failing fixture, existing helpers/types/shapes, sibling inputs or callers, import and export paths, public entrypoints or barrels, error-handling conventions, edge/failure cases, tests, and configured command intents | Small hardening fixes, defect-class rule repair, deduplication into existing single source of truth, boundary notes, focused tests, and directly synchronized docs or contracts | symptom-only patch, pinpoint hardcode, exact literal fixture fix, uninspected sibling input, duplicate abstraction, hidden coupling, circular dependency, accidental public API, string-only tests, over-mocking, fallback sprawl, silent error handling, fan-in/fan-out concentration, or broad rewrite | `changes_status`, `changes_diff_summary`, `test_related`, `test_audit`, `lint`, `build`, `docs_validate_fast`, `test_release`, `mustflow_check` | Sources of truth reused or extended, symptom patch and same-class sibling findings, duplicate/coupling/export/error/complexity/test findings, fixes made, deferred enforcement, verification, and remaining hardening risk |
|
|
374
|
+
| Quality metrics, line-count limits, complexity budgets, lint/type/test gates, or assistant-authored changes may be gamed through long-line stuffing, multiple statements per line, new suppressions, test bypass markers, type escapes, placeholder implementations, generated/vendor logic, giant config blobs, dispatch maps, or helper/util/manager/common containers | `.mustflow/skills/quality-gaming-guard/SKILL.md` | User goal, intended quality outcome behind the metric, current diff, quality gates, formatter/lint/type/test rules, generated/vendor policy, helper naming conventions, suppression baseline, and command contract entries | Real responsibility split, removal of gaming patterns, focused tests or quality-gate evidence, bounded `quality_gaming_check` command contract, and directly synchronized docs or templates | cosmetic metric compliance, line stuffing, validation suppression, test bypass, broad type escape, placeholder success, generated/vendor hiding, junk-drawer helper extraction, or legacy baseline confused with new regression | `quality_gaming_check`, `changes_status`, `changes_diff_summary`, `test_related`, `lint`, `build`, `mustflow_check` | Quality goal, gaming patterns inspected, patterns removed or intentionally left, baseline versus new-regression decision, verification, and remaining quality-gaming risk |
|
|
374
375
|
| Prompts, prompt builders, system or developer messages, RAG prompt assembly, few-shot examples, structured outputs, tool-use instructions, model selection, reasoning-effort settings, eval sets, refusal or fallback handling, prompt versioning, or AI feature completion criteria are created, changed, reviewed, or reported | `.mustflow/skills/prompt-contract-quality-review/SKILL.md` | Prompt contract ledger, input ledger, authority ledger, output schema, tool policy, model/runtime ledger, RAG evidence ledger, eval ledger, changed files, and command contract entries | Prompt builders, prompt templates, schemas, validators, eval fixtures, boundary examples, tool policies, fallback states, completion definitions, docs, tests, and directly synchronized templates | prompt-as-function gap, user input treated as authority, buried RAG evidence, happy-path-only examples, JSON-parse theater, unpinned production model, hidden prompt storage, raw chain-of-thought request, guessed tool parameters, missing failure state, unbounded reasoning/token cost, or vibe-based prompt improvement claim | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Prompt contract reviewed, function boundary, authority and source separation, eval and semantic validation status, model/runtime policy, RAG/tool/failure/completion states, verification, and remaining prompt-contract risk |
|
|
375
376
|
| LLM answers, RAG responses, citations, source grounding, claim extraction, evidence IDs, answerability states, abstain behavior, retrieval thresholds, tool-backed facts, output validators, LLM judges, or hallucination-control metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-hallucination-control-review/SKILL.md` | Answer contract ledger, evidence ledger, claim ledger, tool ledger, validator ledger, eval ledger, observability ledger, changed files, and command contract entries | Answerability states, abstain states, missing-information states, source-coverage gates, claim maps, evidence-ID requirements, citation validators, retrieval thresholds, chunk metadata, tool-parameter ownership, deterministic calculators, domain validators, eval fixtures, tests, docs, route metadata, and directly synchronized templates | unsupported factual claim, fabricated citation, source ID invention, weak retrieval gate, noisy semantic-only retrieval, chunk context loss, summary-on-summary hallucination, guessed tool parameter, model arithmetic, source-priority conflict, LLM judge overtrust, low-temperature theater, missing abstain path, missing dirty eval, false citation metric gap, or unobservable grounding drift | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Hallucination-control surface reviewed, answerability and abstain states, evidence IDs, claim map, citations, source coverage, validators, retrieval thresholds, tool ownership, evals, metrics, verification, and remaining hallucination-control risk |
|
|
376
|
-
| LLM API calls, prompt assembly, chat history, RAG context, tool schemas, structured output schemas, model routing, reasoning settings, token budgets, provider prompt caching, app-level response caching, retries, batch or flex processing, predicted outputs, image or file inputs, or LLM cost metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-token-cost-control-review/SKILL.md` | Cost surface ledger, request ledger, cache ledger, context ledger, output ledger, routing ledger, observability ledger, changed files, and command contract entries | Request builders, prompt prefix ordering, canonical serialization, prompt hashes, cache keys, token counters, budget guards, model routers, context trimming, RAG packing, tool and schema payloads, output patch formats, retry repair paths, metrics, logs, tests, docs, route metadata, and directly synchronized templates | prompt-cache prefix drift, volatile field before stable prefix, unmeasured token count, full transcript replay, RAG chunk bloat, oversized tool or JSON schema payload, expensive model default, unbounded reasoning, no visible output after token cap, full-output regeneration, full-context retry replay, app cache key leak, predicted-output cost confusion, image or file token surprise, or per-call cost hiding cost-per-success regression | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM token-cost surface reviewed, cost unit and measurement source, stable prefix and cache behavior, app cache/history/RAG/tool/schema/input choices, routing/reasoning/output/retry/Batch/Flex/prediction choices, observability, verification, and remaining token-cost risk |
|
|
377
|
+
| LLM API calls, prompt assembly, chat history, RAG context, tool schemas, structured output schemas, model routing, reasoning settings, token budgets, provider prompt caching, app-level response caching, retries, batch or flex processing, predicted outputs, image or file inputs, or LLM cost metrics are created, changed, reviewed, or reported | `.mustflow/skills/llm-token-cost-control-review/SKILL.md` | Cost surface ledger, request ledger, cache ledger, context ledger, output ledger, routing ledger, observability ledger, changed files, and command contract entries | Request builders, prompt prefix ordering, canonical serialization, prompt hashes, cache keys, token counters, budget guards, model routers, context trimming, RAG packing, tool and schema payloads, output patch formats, retry repair paths, metrics, logs, tests, docs, route metadata, and directly synchronized templates | prompt-cache prefix drift, volatile field before stable prefix, unmeasured token count, full transcript replay, RAG chunk bloat, oversized tool or JSON schema payload, expensive model default, unbounded reasoning, no visible output after token cap, full-output regeneration, full-context retry replay, app cache key leak, predicted-output cost confusion, image or file token surprise, or per-call cost hiding cost-per-success regression | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `prompt_cache_audit`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM token-cost surface reviewed, cost unit and measurement source, stable prefix and cache behavior, app cache/history/RAG/tool/schema/input choices, routing/reasoning/output/retry/Batch/Flex/prediction choices, observability, verification, and remaining token-cost risk |
|
|
377
378
|
| LLM response latency, time to first token, first useful output, streaming, output length, LLM round trips, tool-call wait, prompt-cache latency, model routing, speculative or parallel execution, realtime continuation, priority tiers, predicted outputs, or user-perceived AI speed are created, changed, reviewed, or reported | `.mustflow/skills/llm-response-latency-review/SKILL.md` | Latency target ledger, request timeline ledger, call graph ledger, output ledger, cache ledger, routing ledger, observability ledger, changed files, and command contract entries | Streaming paths, first-useful-output contracts, request timeline metrics, call graph simplification, parallel or speculative work, model routers, fallback cascades, output caps, schema shortening, prompt-cache prefix ordering, cache keys, realtime continuation, priority-tier routing, timeout and cancellation behavior, tests, docs, route metadata, and directly synchronized templates | slow first token, useless streamed preamble, extra sequential LLM round trip, tool wait blocking first output, cache-prefix drift, unmeasured cache miss, verbose output drift, long JSON key or enum overhead, RAG chunk bloat, router escalation loop, prediction-token mismatch, priority-tier misuse, unsafe speculative work, missing cancellation, or raw prompt telemetry leak | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | LLM response-latency surface reviewed, latency unit and request timeline, round trips, parallel/tool/stream/cancel behavior, output/schema/cache/history/RAG/routing/fallback/prediction/realtime/priority choices, observability, verification, and remaining response-latency risk |
|
|
378
379
|
| Autonomous or semi-autonomous LLM agents, agentic workflows, planners, executors, verifiers, tool contracts, tool-call gates, human approval or interrupt flows, durable agent state, handoffs, guardrails, loop budgets, retry policies, trace evaluation, or agent outcome metrics are created, changed, reviewed, or reported | `.mustflow/skills/agent-execution-control-review/SKILL.md` | Autonomy ledger, stage gate ledger, role separation ledger, tool contract ledger, effect ledger, state and resume ledger, memory and context ledger, handoff and guardrail ledger, loop, retry, and budget ledger, trace and eval outcome ledger, changed files, and command contract entries | Workflow-versus-agent routing, stage gates, planner/executor/verifier boundaries, tool contracts, tool argument ownership, draft/execute separation, idempotency keys, approval records, durable checkpoints, state schema versions, memory partitions, handoff filters, guardrails, loop budgets, retry classification, trace spans, eval fixtures, tests, docs, route metadata, and directly synchronized templates | unnecessary autonomous agent, one model self-certifying success, ungated bad plan, ambiguous tool contract, guessed tool argument, relative-path trap, external effect before approval, missing idempotency key, interrupt replay side effect, stale state schema, over-shared handoff, misplaced guardrail, repeated tool loop, blind retry, final-answer-only eval, or unsafe trace data | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Agent execution-control surface reviewed, workflow-versus-agent decision, autonomy envelope, stage gates, role separation, tool contracts, approval and side-effect replay safety, state/resume/memory/handoff/guardrail/loop/retry/trace/eval checks, verification, and remaining agent execution-control risk |
|
|
379
380
|
| Agent evaluation loops, trace or trajectory grading, LLM judges, verifier agents, outcome scoring, tool-call prechecks or postchecks, eval datasets, golden or dirty sets, pass@k or pass^k metrics, shadow environments, production-monitoring-to-eval pipelines, or agent regression gates are created, changed, reviewed, or reported | `.mustflow/skills/agent-eval-integrity-review/SKILL.md` | Outcome ledger, trace ledger, oracle ledger, tool-boundary ledger, dataset ledger, metric ledger, environment ledger, monitoring ledger, privacy ledger, changed files, and command contract entries | Outcome oracles, trace schemas, trajectory graders, deterministic checkers, model-judge rubrics, human-review sampling, tool prechecks and postchecks, tool-result evidence packets, eval fixtures, golden and dirty sets, shadow-environment adapters, monitoring-to-eval candidate flows, tests, docs, route metadata, and directly synchronized templates | final-answer-only scoring, LLM judge as sole oracle, reasoning claim treated as evidence, self-reflection certifying success, missing final environment state, ungraded unsafe trajectory, missing tool precheck or postcheck, brittle exact tool-order assertion, uncalibrated judge drift, pass@k masking unreliable pass^k, dirty set gating flakiness, raw trace data leak, or production failure not entering evals | `changes_status`, `changes_diff_summary`, `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, `mustflow_check` | Agent eval-integrity surface reviewed, outcome oracle, final-state and trajectory checks, deterministic/model/human oracle split, tool boundary evidence, golden/dirty/capability/regression metrics, shadow environment, monitoring-to-eval loop, trace privacy, verification, and remaining agent eval-integrity risk |
|
package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: skill.llm-token-cost-control-review
|
|
3
3
|
locale: en
|
|
4
4
|
canonical: true
|
|
5
|
-
revision:
|
|
5
|
+
revision: 2
|
|
6
6
|
lifecycle: mustflow-owned
|
|
7
7
|
authority: procedure
|
|
8
8
|
name: llm-token-cost-control-review
|
|
@@ -19,6 +19,7 @@ metadata:
|
|
|
19
19
|
- build
|
|
20
20
|
- test_related
|
|
21
21
|
- test
|
|
22
|
+
- prompt_cache_audit
|
|
22
23
|
- docs_validate_fast
|
|
23
24
|
- test_release
|
|
24
25
|
- mustflow_check
|
|
@@ -102,7 +103,8 @@ Review LLM cost as a product and systems contract, not as prompt brevity. A cost
|
|
|
102
103
|
15. Treat predicted outputs as a latency tool unless current provider docs and usage evidence show cost behavior for the exact model and endpoint. Use `llm-response-latency-review` when the main goal is faster completion rather than cost control. Watch rejected prediction tokens or equivalent fields when exposed.
|
|
103
104
|
16. Reduce image and file input before the model. Crop screenshots, downsample where acceptable, extract DOM text or OCR first, and count the actual payload tokens when the provider supports it.
|
|
104
105
|
17. Instrument cost per success. Track endpoint, model, prompt version, tool version, schema version, input tokens, cached tokens, output tokens, reasoning tokens, retry count, validation failure rate, cache hit rate, and successful-task denominator.
|
|
105
|
-
18.
|
|
106
|
+
18. When prompt-cache layout changes, run the configured prompt-cache audit intent if available and treat byte or token estimates as static layout evidence rather than provider billing proof.
|
|
107
|
+
19. Verify with the narrowest configured tests, fixtures, docs validation, release checks, and mustflow validation that cover request assembly, cache keys, budget guards, routing, retry repair, telemetry, and installed skill surfaces.
|
|
106
108
|
|
|
107
109
|
<!-- mustflow-section: postconditions -->
|
|
108
110
|
## Postconditions
|
|
@@ -124,6 +126,7 @@ Use configured oneshot command intents when available:
|
|
|
124
126
|
- `build`
|
|
125
127
|
- `test_related`
|
|
126
128
|
- `test`
|
|
129
|
+
- `prompt_cache_audit`
|
|
127
130
|
- `docs_validate_fast`
|
|
128
131
|
- `test_release`
|
|
129
132
|
- `mustflow_check`
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
mustflow_doc: skill.quality-gaming-guard
|
|
3
|
+
locale: en
|
|
4
|
+
canonical: true
|
|
5
|
+
revision: 2
|
|
6
|
+
lifecycle: mustflow-owned
|
|
7
|
+
authority: procedure
|
|
8
|
+
name: quality-gaming-guard
|
|
9
|
+
description: Apply this skill when quality metrics, line-count limits, complexity budgets, lint/type/test gates, or agent-authored changes may be gamed instead of satisfying the intended engineering goal.
|
|
10
|
+
metadata:
|
|
11
|
+
mustflow_schema: "1"
|
|
12
|
+
mustflow_kind: procedure
|
|
13
|
+
pack_id: mustflow.core
|
|
14
|
+
skill_id: mustflow.core.quality-gaming-guard
|
|
15
|
+
command_intents:
|
|
16
|
+
- quality_gaming_check
|
|
17
|
+
- changes_status
|
|
18
|
+
- changes_diff_summary
|
|
19
|
+
- test_related
|
|
20
|
+
- lint
|
|
21
|
+
- build
|
|
22
|
+
- mustflow_check
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Quality Gaming Guard
|
|
26
|
+
|
|
27
|
+
<!-- mustflow-section: purpose -->
|
|
28
|
+
## Purpose
|
|
29
|
+
|
|
30
|
+
Prevent agents from satisfying visible quality metrics through cheaper evasions such as line
|
|
31
|
+
stuffing, validation suppressions, placeholder implementations, test bypass markers, broad type
|
|
32
|
+
escapes, empty catch swallowing, junk-drawer helpers, or generated/vendor logic hiding.
|
|
33
|
+
|
|
34
|
+
This skill treats numeric limits as smoke alarms, not as the whole design objective. The target is
|
|
35
|
+
the underlying engineering contract: responsibility separation, readable diffs, meaningful tests,
|
|
36
|
+
preserved validation, and maintainable ownership.
|
|
37
|
+
|
|
38
|
+
<!-- mustflow-section: use-when -->
|
|
39
|
+
## Use When
|
|
40
|
+
|
|
41
|
+
- A task mentions line counts, file size, method size, class size, complexity, lint warnings, type
|
|
42
|
+
errors, test coverage, benchmark thresholds, or quality gates.
|
|
43
|
+
- Assistant-authored code could satisfy a visible metric while making maintainability worse.
|
|
44
|
+
- A change adds or touches tests, validators, lint/type suppressions, generated files, vendor files,
|
|
45
|
+
helper/util/manager/common containers, configuration-as-logic, placeholder behavior, or error
|
|
46
|
+
swallowing.
|
|
47
|
+
- A repository has a configured `quality_gaming_check` intent or the command contract should expose
|
|
48
|
+
one.
|
|
49
|
+
|
|
50
|
+
<!-- mustflow-section: do-not-use-when -->
|
|
51
|
+
## Do Not Use When
|
|
52
|
+
|
|
53
|
+
- The task is documentation-only and does not define or change a quality gate.
|
|
54
|
+
- The task is a normal code review with no quality metric or agent-gaming risk; use the narrower
|
|
55
|
+
review or language skill.
|
|
56
|
+
- The repository has no observable files, command contract, or diff evidence to inspect.
|
|
57
|
+
|
|
58
|
+
<!-- mustflow-section: required-inputs -->
|
|
59
|
+
## Required Inputs
|
|
60
|
+
|
|
61
|
+
- User goal and the intended quality outcome behind any numeric metric.
|
|
62
|
+
- Current changed-file list and diff summary.
|
|
63
|
+
- Relevant quality gates, formatter rules, lint/type/test command intents, and command-contract
|
|
64
|
+
entries.
|
|
65
|
+
- Nearby source, tests, generated/vendor policy, helper naming conventions, and existing
|
|
66
|
+
suppression baseline.
|
|
67
|
+
- Any failing command output or previous workaround evidence.
|
|
68
|
+
|
|
69
|
+
<!-- mustflow-section: preconditions -->
|
|
70
|
+
## Preconditions
|
|
71
|
+
|
|
72
|
+
- The task matches the Use When conditions and does not match the Do Not Use When exclusions.
|
|
73
|
+
- The intended quality goal has been separated from the visible metric.
|
|
74
|
+
- Higher-priority repository instructions and `.mustflow/config/commands.toml` have been checked.
|
|
75
|
+
- Command execution remains governed by configured command intents only.
|
|
76
|
+
|
|
77
|
+
<!-- mustflow-section: allowed-edits -->
|
|
78
|
+
## Allowed Edits
|
|
79
|
+
|
|
80
|
+
- Refactor code toward real responsibility ownership instead of only reducing line counts.
|
|
81
|
+
- Add or strengthen focused tests that prove the behavior or quality invariant being protected.
|
|
82
|
+
- Remove newly introduced suppressions, broad type escapes, test bypass markers, placeholder
|
|
83
|
+
implementations, or metric-stuffing shapes when they are in scope.
|
|
84
|
+
- Add or update the bounded `quality_gaming_check` command contract only when the repository can run
|
|
85
|
+
it as a one-shot, read-only intent.
|
|
86
|
+
- Do not weaken tests, assertions, type checking, lint rules, benchmarks, schema validation, or
|
|
87
|
+
command gates to make a metric pass.
|
|
88
|
+
|
|
89
|
+
<!-- mustflow-section: procedure -->
|
|
90
|
+
## Procedure
|
|
91
|
+
|
|
92
|
+
1. Name the real engineering goal behind the visible metric. Examples: separate domain ownership,
|
|
93
|
+
keep diffs reviewable, preserve validation strength, keep tests meaningful, or make a hot path
|
|
94
|
+
cheaper.
|
|
95
|
+
2. Inspect the diff for gaming patterns:
|
|
96
|
+
- long-line stuffing after line-count limits;
|
|
97
|
+
- multiple statements on one line;
|
|
98
|
+
- new lint, type, coverage, or formatter suppressions;
|
|
99
|
+
- `.skip`, `.only`, disabled, xfail, or todo test markers;
|
|
100
|
+
- broad `any`, double assertions, or unsafe non-null assertions;
|
|
101
|
+
- placeholder returns, `not implemented`, `pass`, empty fallbacks, empty catch blocks, or broad
|
|
102
|
+
catch swallowing;
|
|
103
|
+
- logic moved into generated/vendor files, giant config blobs, regex tables, dispatch maps, or
|
|
104
|
+
helper/util/manager/common containers.
|
|
105
|
+
3. When a gaming pattern exists, fix the underlying design rather than only deleting the marker.
|
|
106
|
+
Split by domain responsibility, ownership, input/output boundary, policy owner, or dependency
|
|
107
|
+
direction.
|
|
108
|
+
4. Prefer formatter, lint, type, test, and architecture evidence that checks multiple dimensions
|
|
109
|
+
together. Do not rely on one numeric gate as proof of design quality.
|
|
110
|
+
5. For legacy code, distinguish existing baseline from new regression. Existing debt can be reported
|
|
111
|
+
while new debt should be removed or explicitly justified.
|
|
112
|
+
6. If `quality_gaming_check` is configured, run it after the relevant implementation change. Treat a
|
|
113
|
+
nonzero result as a real quality-gaming finding unless the specific file is intentionally
|
|
114
|
+
excluded by current repository policy.
|
|
115
|
+
7. Run the narrowest configured verification intents that cover the changed code, tests, command
|
|
116
|
+
contract, and public behavior.
|
|
117
|
+
|
|
118
|
+
<!-- mustflow-section: postconditions -->
|
|
119
|
+
## Postconditions
|
|
120
|
+
|
|
121
|
+
- The visible metric and the underlying engineering goal are both addressed.
|
|
122
|
+
- No new validation suppression, test bypass, type escape, placeholder, empty catch swallowing,
|
|
123
|
+
long-line stuffing, or generated/vendor hiding remains without an explicit risk note.
|
|
124
|
+
- Any helper/util/manager/common extraction has a real domain responsibility or is reported as a
|
|
125
|
+
remaining design risk.
|
|
126
|
+
- Quality-gaming check results and skipped verification are visible in the final report.
|
|
127
|
+
|
|
128
|
+
<!-- mustflow-section: verification -->
|
|
129
|
+
## Verification
|
|
130
|
+
|
|
131
|
+
Use configured oneshot command intents when available:
|
|
132
|
+
|
|
133
|
+
- `quality_gaming_check`
|
|
134
|
+
- `changes_status`
|
|
135
|
+
- `changes_diff_summary`
|
|
136
|
+
- `test_related`
|
|
137
|
+
- `lint`
|
|
138
|
+
- `build`
|
|
139
|
+
- `mustflow_check`
|
|
140
|
+
|
|
141
|
+
Use broader configured tests only when the changed behavior or gate is cross-cutting and no narrower
|
|
142
|
+
intent covers it.
|
|
143
|
+
|
|
144
|
+
<!-- mustflow-section: failure-handling -->
|
|
145
|
+
## Failure Handling
|
|
146
|
+
|
|
147
|
+
- If `quality_gaming_check` reports risks, inspect the file and either remove the gaming pattern or
|
|
148
|
+
report why the repository policy intentionally permits it.
|
|
149
|
+
- If the check is missing, report that the repository has no configured quality-gaming guard instead
|
|
150
|
+
of inventing a command.
|
|
151
|
+
- If a metric conflicts with the real engineering goal, report the conflict and prefer the stronger
|
|
152
|
+
maintainability contract over a cosmetic number.
|
|
153
|
+
- If legacy baseline violations are too broad to fix safely, prevent new violations and report the
|
|
154
|
+
ratchet boundary.
|
|
155
|
+
|
|
156
|
+
<!-- mustflow-section: output-format -->
|
|
157
|
+
## Output Format
|
|
158
|
+
|
|
159
|
+
- Quality goal behind the metric
|
|
160
|
+
- Gaming patterns inspected
|
|
161
|
+
- Gaming patterns removed, prevented, or intentionally left
|
|
162
|
+
- Baseline versus new-regression decision
|
|
163
|
+
- Command intents run
|
|
164
|
+
- Skipped checks and reasons
|
|
165
|
+
- Remaining quality-gaming risk
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
schema_version = "1"
|
|
2
|
+
purpose = "Stable skill-routing kernel for prompt-cache-friendly first-pass selection."
|
|
3
|
+
full_routes = ".mustflow/skills/routes.toml"
|
|
4
|
+
expanded_index = ".mustflow/skills/INDEX.md"
|
|
5
|
+
skill_root = ".mustflow/skills"
|
|
6
|
+
selection_limit = 5
|
|
7
|
+
main_limit = 1
|
|
8
|
+
adjunct_limit = 2
|
|
9
|
+
fallback_policy = "read_full_routes_when_uncertain"
|
|
10
|
+
|
|
11
|
+
[read_when]
|
|
12
|
+
full_routes = [
|
|
13
|
+
"router taxonomy is insufficient",
|
|
14
|
+
"task edits skill routing",
|
|
15
|
+
"detailed route metadata is needed",
|
|
16
|
+
"category or confidence is ambiguous",
|
|
17
|
+
]
|
|
18
|
+
expanded_index = [
|
|
19
|
+
"full route metadata is insufficient",
|
|
20
|
+
"task edits the expanded route table",
|
|
21
|
+
"human-readable trigger evidence is needed",
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
[algorithm]
|
|
25
|
+
steps = [
|
|
26
|
+
"Classify the task by file paths, user intent, discovered technology, and event signals.",
|
|
27
|
+
"Pick at most one primary route category and at most two adjunct categories.",
|
|
28
|
+
"Read full_routes only when this kernel cannot identify a narrow route set.",
|
|
29
|
+
"Read selected SKILL.md files before editing the matching scope.",
|
|
30
|
+
"Reroute when changed files, command failures, security, data, tests, docs, or release risk appears.",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[categories.bug_failure]
|
|
34
|
+
label = "Bug and Failure"
|
|
35
|
+
signals = ["command_failure", "failing_test", "repro", "regression", "crash", "error_log"]
|
|
36
|
+
|
|
37
|
+
[categories.general_code]
|
|
38
|
+
label = "General Code"
|
|
39
|
+
signals = ["code_change", "behavior_change", "public_api_change", "runtime", "performance"]
|
|
40
|
+
|
|
41
|
+
[categories.tests]
|
|
42
|
+
label = "Tests"
|
|
43
|
+
signals = ["test_change", "regression_guard", "fixture", "snapshot", "coverage"]
|
|
44
|
+
|
|
45
|
+
[categories.docs_release]
|
|
46
|
+
label = "Documentation and Release"
|
|
47
|
+
signals = ["docs_change", "copy_change", "release_risk", "readme", "changelog"]
|
|
48
|
+
|
|
49
|
+
[categories.security_privacy]
|
|
50
|
+
label = "Security and Privacy"
|
|
51
|
+
signals = ["security_change", "privacy_change", "auth", "secret", "permission", "exposure"]
|
|
52
|
+
|
|
53
|
+
[categories.data_external]
|
|
54
|
+
label = "Data and External I/O"
|
|
55
|
+
signals = ["data_change", "migration_change", "database", "filesystem", "process", "dependency"]
|
|
56
|
+
|
|
57
|
+
[categories.ui_assets]
|
|
58
|
+
label = "UI and Assets"
|
|
59
|
+
signals = ["ui_change", "web_asset_change", "image_asset_change", "layout", "accessibility"]
|
|
60
|
+
|
|
61
|
+
[categories.architecture_patterns]
|
|
62
|
+
label = "Architecture and Patterns"
|
|
63
|
+
signals = ["cross_cutting_code_change", "refactor", "boundary", "pattern", "module_split"]
|
|
64
|
+
|
|
65
|
+
[categories.workflow_contracts]
|
|
66
|
+
label = "Workflow and Contracts"
|
|
67
|
+
signals = ["mustflow_config_change", "mustflow_docs_change", "workflow_change", "package_metadata_change"]
|
|
@@ -156,6 +156,12 @@ route_type = "adjunct"
|
|
|
156
156
|
priority = 74
|
|
157
157
|
applies_to_reasons = ["unknown_change", "code_change", "behavior_change", "test_change", "public_api_change", "performance_change"]
|
|
158
158
|
|
|
159
|
+
[routes."quality-gaming-guard"]
|
|
160
|
+
category = "general_code"
|
|
161
|
+
route_type = "adjunct"
|
|
162
|
+
priority = 76
|
|
163
|
+
applies_to_reasons = ["unknown_change", "code_change", "behavior_change", "test_change", "public_api_change", "performance_change"]
|
|
164
|
+
|
|
159
165
|
[routes."module-boundary-review"]
|
|
160
166
|
category = "general_code"
|
|
161
167
|
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: 17
|
|
6
6
|
lifecycle: user-editable
|
|
7
7
|
authority: binding
|
|
8
8
|
---
|
|
@@ -21,13 +21,17 @@ mustflow-managed details are under `.mustflow/`.
|
|
|
21
21
|
4. `.mustflow/config/commands.toml`
|
|
22
22
|
5. `.mustflow/config/preferences.toml` if present
|
|
23
23
|
6. `.mustflow/config/technology.toml` if present
|
|
24
|
-
7. `.mustflow/skills/
|
|
24
|
+
7. `.mustflow/skills/router.toml`
|
|
25
25
|
8. `.mustflow/context/INDEX.md` only when the task needs project, product, domain,
|
|
26
26
|
UI, backend, data, security, or operations context
|
|
27
27
|
9. The matching `.mustflow/context/<name>.md` files, only when selected by the context index
|
|
28
|
-
10.
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
10. `.mustflow/skills/routes.toml` only when the compact router is insufficient, the task edits
|
|
29
|
+
skill routing, detailed route metadata is needed, or route confidence is ambiguous
|
|
30
|
+
11. `.mustflow/skills/INDEX.md` only when route metadata is insufficient, the task edits the
|
|
31
|
+
expanded route table, or human-readable trigger evidence is needed
|
|
32
|
+
12. The matching `.mustflow/skills/<name>/SKILL.md`
|
|
33
|
+
13. `REPO_MAP.md` only when broader repository navigation is needed
|
|
34
|
+
14. Relevant source, test, and documentation files
|
|
31
35
|
|
|
32
36
|
## Core Rules
|
|
33
37
|
|
|
@@ -65,8 +69,12 @@ mustflow-managed details are under `.mustflow/`.
|
|
|
65
69
|
- If `DESIGN.md` exists, read it only for UI, visual design, layout, design-token, or accessibility
|
|
66
70
|
work. Do not create a `DESIGN.md` if one does not exist.
|
|
67
71
|
- Read the matching skill document when one applies to the task.
|
|
68
|
-
- Before creating or modifying any file, use `.mustflow/skills/
|
|
69
|
-
|
|
72
|
+
- Before creating or modifying any file, use `.mustflow/skills/router.toml` to decide which route
|
|
73
|
+
category and skill procedure may apply. Read `.mustflow/skills/routes.toml` only when the compact
|
|
74
|
+
router is insufficient, the task edits skill routing, detailed route metadata is needed, or route
|
|
75
|
+
confidence is ambiguous. Read `.mustflow/skills/INDEX.md` only when full route metadata is
|
|
76
|
+
insufficient, the task edits the expanded route table, or human-readable trigger evidence is
|
|
77
|
+
needed. This skill-selection gate is mandatory even for small or seemingly obvious tasks.
|
|
70
78
|
- `mf doctor`, `mf check`, and other health checks do not satisfy the skill-selection gate. They
|
|
71
79
|
confirm repository health; they do not determine which task procedure applies.
|
|
72
80
|
- If a matching skill applies, read the matching `SKILL.md` before editing that scope. After
|
|
@@ -3,7 +3,7 @@ mustflow_doc: context.project
|
|
|
3
3
|
kind: mustflow-context
|
|
4
4
|
locale: ko
|
|
5
5
|
canonical: false
|
|
6
|
-
revision:
|
|
6
|
+
revision: 4
|
|
7
7
|
name: project
|
|
8
8
|
authority: contextual
|
|
9
9
|
lifecycle: user-editable
|
|
@@ -58,7 +58,9 @@ source_refs:
|
|
|
58
58
|
- `.mustflow/docs/agent-workflow.md`
|
|
59
59
|
- `.mustflow/config/mustflow.toml`
|
|
60
60
|
- `.mustflow/config/commands.toml`
|
|
61
|
-
- `.mustflow/skills/
|
|
61
|
+
- `.mustflow/skills/router.toml`
|
|
62
|
+
- 상세 라우트 메타데이터가 필요할 때만 `.mustflow/skills/routes.toml`
|
|
63
|
+
- 사람이 읽을 라우트 근거가 필요할 때만 `.mustflow/skills/INDEX.md`
|
|
62
64
|
|
|
63
65
|
## 오래된 내용 확인
|
|
64
66
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: docs.agent-workflow
|
|
3
3
|
locale: ko
|
|
4
4
|
canonical: false
|
|
5
|
-
revision:
|
|
5
|
+
revision: 31
|
|
6
6
|
lifecycle: mustflow-owned
|
|
7
7
|
authority: workflow-policy
|
|
8
8
|
---
|
|
@@ -44,7 +44,9 @@ mustflow 문서는 각각 명확한 역할을 갖습니다. 단순히 편하게
|
|
|
44
44
|
| `.mustflow/config/preferences.toml` | 스타일, 언어, Git 제안, 테스트 작성 성향, 검증 선택, 버전 영향의 기본값입니다. | 권한이 아닌 낮은 권위의 선호 설정입니다. | 저장소별로 사용자가 조정할 수 있는 TOML 파일입니다. |
|
|
45
45
|
| `.mustflow/context/INDEX.md` | 작업별 컨텍스트 파일을 선택하는 라우터입니다. | 선택형 컨텍스트만 고르며 정책 설명서는 아닙니다. | mustflow가 소유하는 Markdown 문서입니다. |
|
|
46
46
|
| `.mustflow/context/PROJECT.md` | 신중한 프로젝트 사실, 미지점, 도메인 관습을 기록합니다. | 사용자 지시, 코드, 테스트, 명령 계약, 설정된 정책보다 낮은 권위의 참고 자료입니다. | 사용자가 수정 가능한 컨텍스트 문서입니다. |
|
|
47
|
-
| `.mustflow/skills/
|
|
47
|
+
| `.mustflow/skills/router.toml` | 프롬프트 캐시에 친화적인 첫 스킬 선택을 위한 안정적인 압축 라우트 범주와 fallback 규칙입니다. | 선택 kernel만 담당하며 자세한 절차는 `SKILL.md`에 둡니다. | mustflow가 소유하는 TOML 파일입니다. |
|
|
48
|
+
| `.mustflow/skills/routes.toml` | 압축 router만으로 부족할 때 사용하는 전체 라우트 메타데이터입니다. | 선택 힌트만 담당하며 자세한 절차는 `SKILL.md`에 둡니다. | mustflow가 소유하는 TOML 파일입니다. |
|
|
49
|
+
| `.mustflow/skills/INDEX.md` | 상세 스킬 선택과 라우트 유지보수를 위한 사람이 읽는 확장 라우트 표입니다. | 선택 계약만 담당하며 자세한 절차는 `SKILL.md`에 둡니다. | mustflow가 소유하는 Markdown 문서입니다. |
|
|
48
50
|
| `.mustflow/skills/<name>/SKILL.md` | 반복 작업의 입력, 허용 범위, 검사, 보고 형식을 담은 절차입니다. | 절차 안내일 뿐이며 명령 실행 권한을 부여하거나 다른 규칙을 덮어쓰지 않습니다. | mustflow가 소유하는 Markdown 문서이며, 필요 시 언어별로 설치됩니다. |
|
|
49
51
|
| `REPO_MAP.md` | 넓은 탐색과 하위 저장소 진입점을 위한 생성 앵커 지도입니다. | 현재 파일과 현재 지시보다 낮은 생성 탐색 보조 자료입니다. | 생성 파일이며 `repo_map` 인텐트 또는 `mf map`으로 갱신합니다. |
|
|
50
52
|
|
|
@@ -68,9 +70,11 @@ mustflow 문서는 각각 명확한 역할을 갖습니다. 단순히 편하게
|
|
|
68
70
|
3. `.mustflow/config/mustflow.toml`
|
|
69
71
|
4. `.mustflow/config/commands.toml`
|
|
70
72
|
5. `.mustflow/config/preferences.toml`이 있으면 읽기
|
|
71
|
-
6. `.mustflow/skills/
|
|
72
|
-
7.
|
|
73
|
-
8.
|
|
73
|
+
6. `.mustflow/skills/router.toml`
|
|
74
|
+
7. 압축 router만으로 부족하거나 스킬 라우팅을 수정하거나 상세 라우트 메타데이터가 필요하거나 라우트 확신도가 애매할 때 `.mustflow/skills/routes.toml`
|
|
75
|
+
8. 전체 라우트 메타데이터만으로도 부족하거나 확장 라우트 표를 수정하거나 사람이 읽을 트리거 근거가 필요할 때 `.mustflow/skills/INDEX.md`
|
|
76
|
+
9. 현재 작업과 맞는 `.mustflow/skills/<name>/SKILL.md`
|
|
77
|
+
10. 관련 소스, 테스트, 문서 파일
|
|
74
78
|
|
|
75
79
|
`REPO_MAP.md`는 넓은 저장소 탐색이 필요할 때만 읽습니다. 이 파일은 전체 파일 목록이 아니라 `AGENTS.md`, `README.md`, `package.json`, `SKILL.md`, 주요 설정 파일 같은 앵커를 찾아 에이전트가 처음 볼 위치를 줄이기 위한 생성 지도입니다. 전체 파일 목록이 필요하면 `git ls-files`나 편집기 파일 탐색기를 사용합니다. `node_modules`, `dist`, `build`, `.git`, 캐시, 대용량 산출물은 제외합니다.
|
|
76
80
|
|
|
@@ -95,10 +99,12 @@ mustflow 문서는 각각 명확한 역할을 갖습니다. 단순히 편하게
|
|
|
95
99
|
|
|
96
100
|
작업 시작 시점과 첫 수정 전에는 다음 순서를 따릅니다.
|
|
97
101
|
|
|
98
|
-
1. `.mustflow/skills/
|
|
99
|
-
2. 현재 사용자
|
|
100
|
-
3.
|
|
101
|
-
4.
|
|
102
|
+
1. `.mustflow/skills/router.toml`에서 안정적인 라우트 범주, 범주 신호, 선택 제한, fallback 규칙을 읽습니다.
|
|
103
|
+
2. 현재 사용자 요청, 예상 변경 파일, 발견한 기술 스택, 이벤트 신호를 범주 신호와 비교합니다.
|
|
104
|
+
3. 압축 router만으로 부족하거나 스킬 라우팅을 수정하거나 상세 라우트 메타데이터가 필요하거나 라우트 확신도가 애매하면 `.mustflow/skills/routes.toml`을 읽습니다.
|
|
105
|
+
4. 전체 라우트 메타데이터만으로도 부족하거나 확장 라우트 표를 수정하거나 사람이 읽을 트리거 근거가 필요하면 `.mustflow/skills/INDEX.md`를 읽습니다.
|
|
106
|
+
5. 맞는 시나리오가 하나 이상 있으면 해당 `SKILL.md`를 읽은 뒤 그 범위를 수정합니다.
|
|
107
|
+
6. 맞는 스킬이 없으면 새 스킬을 추측하지 않고 `AGENTS.md`와 `.mustflow/config/commands.toml`을 기준으로 가장 작은 안전한 변경을 수행합니다.
|
|
102
108
|
|
|
103
109
|
작업 중 새 근거가 생겨 작업 유형이 바뀌면 그때 스킬을 다시 선택합니다. 예를 들어 설정된 명령이 실패하면 실패 원인 추적 스킬을, 테스트 계약이 바뀌면 테스트 유지보수 스킬을, 문서나 워크플로가 바뀌면 문서 수정 스킬을 읽습니다.
|
|
104
110
|
|
|
@@ -160,8 +166,8 @@ mustflow는 LLM 제공자의 입력 캐시 적중을 보장하지 않습니다.
|
|
|
160
166
|
|
|
161
167
|
호스트나 에이전트 실행 하네스가 모델 입력을 조립할 때는 다음 순서를 지켜야 합니다.
|
|
162
168
|
|
|
163
|
-
1. 안정 접두부: `mf context --json --cache-profile stable`에서 얻은 저장소 규칙과
|
|
164
|
-
2. 작업 컨텍스트: 선택된 컨텍스트 파일, 맞는 스킬, 저장소 지도 앵커, 관련 소스 파일, 그리고 `cache_layer`가 `task`인 `mf search --json` 결과입니다.
|
|
169
|
+
1. 안정 접두부: `mf context --json --cache-profile stable`에서 얻은 저장소 진입 규칙과 압축 route kernel입니다.
|
|
170
|
+
2. 작업 컨텍스트: 선택된 컨텍스트 파일, 작업 흐름과 구성 refresh 조각, 명령 인텐트 정의, 전체 라우트 메타데이터 fallback, 상세 스킬 색인 fallback, 맞는 스킬, 저장소 지도 앵커, 관련 소스 파일, 그리고 `cache_layer`가 `task`인 `mf search --json` 결과입니다.
|
|
165
171
|
3. 변동 접미부: 현재 사용자 요청, 변경 파일 목록, 명령 출력 끝부분, 최신 실행 기록 메타데이터, 시각 정보, 그리고 `volatile` 값이 `true`인 `mf search --json` 결과입니다.
|
|
166
172
|
|
|
167
173
|
안정 접두부를 재사용하기 전에는 보고된 콘텐츠 해시를 현재 파일과 비교합니다. 안정 문서의 해시가 하나라도 바뀌면 캐시된 텍스트를 재사용하지 말고 해당 문서를 다시 읽어야 합니다. 절대로 로컬 경로, 실행 기록 시각, 명령 출력, 변경 파일, 현재 사용자 작업 문구는 안정 접두부보다 앞에 두지 않습니다.
|
|
@@ -204,7 +210,7 @@ mustflow 지침은 다음 지점에서 다시 확인합니다.
|
|
|
204
210
|
- `command`: `AGENTS.md`와 `.mustflow/config/commands.toml`을 다시 읽습니다.
|
|
205
211
|
- `edit`: 민감한 수정 전에 `AGENTS.md`, `.mustflow/config/mustflow.toml`, `.mustflow/docs/agent-workflow.md`를 다시 읽습니다.
|
|
206
212
|
- `report`: 최종 보고 전에 `AGENTS.md`, `.mustflow/config/mustflow.toml`, `.mustflow/config/preferences.toml`을 다시 읽습니다.
|
|
207
|
-
- `skill`: `AGENTS.md`와 `.mustflow/skills/
|
|
213
|
+
- `skill`: `AGENTS.md`와 `.mustflow/skills/router.toml`을 다시 읽습니다.
|
|
208
214
|
- `full`: mustflow 필수 읽기 순서 전체를 다시 읽습니다.
|
|
209
215
|
|
|
210
216
|
`before_command_run`은 현재 명령 인텐트에 대한 최신성 확인 지점입니다. 명령 계약이 바뀌지 않았다면 같은 명령을 반복할 때마다 모든 파일을 다시 읽으라는 뜻이 아닙니다.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
mustflow_doc: agents.root
|
|
3
3
|
locale: ko
|
|
4
4
|
canonical: false
|
|
5
|
-
revision:
|
|
5
|
+
revision: 24
|
|
6
6
|
lifecycle: user-editable
|
|
7
7
|
authority: binding
|
|
8
8
|
---
|
|
@@ -21,13 +21,15 @@ mustflow가 관리하는 세부 문서와 설정은 `.mustflow/` 폴더 아래
|
|
|
21
21
|
4. `.mustflow/config/commands.toml`
|
|
22
22
|
5. `.mustflow/config/preferences.toml` (있다면)
|
|
23
23
|
6. `.mustflow/config/technology.toml` (있다면)
|
|
24
|
-
7. `.mustflow/skills/
|
|
24
|
+
7. `.mustflow/skills/router.toml`
|
|
25
25
|
8. 프로젝트, 제품, 도메인, UI, 백엔드, 데이터, 보안, 운영 컨텍스트가 필요한 경우
|
|
26
26
|
`.mustflow/context/INDEX.md`
|
|
27
27
|
9. 컨텍스트 색인에서 선택된 `.mustflow/context/<name>.md` 파일
|
|
28
|
-
10.
|
|
29
|
-
11.
|
|
30
|
-
12.
|
|
28
|
+
10. 압축 router만으로 판단이 부족하거나 스킬 라우팅을 수정하거나 상세 라우트 메타데이터가 필요하거나 라우트 확신도가 애매한 경우에만 `.mustflow/skills/routes.toml`
|
|
29
|
+
11. 라우트 메타데이터만으로 부족하거나 확장 라우트 표를 수정하거나 사람이 읽을 트리거 근거가 필요한 경우에만 `.mustflow/skills/INDEX.md`
|
|
30
|
+
12. 현재 작업과 관련된 `.mustflow/skills/<name>/SKILL.md`
|
|
31
|
+
13. 넓은 저장소 탐색이 필요할 때만 `REPO_MAP.md`
|
|
32
|
+
14. 관련 소스, 테스트, 문서 파일
|
|
31
33
|
|
|
32
34
|
## 핵심 규칙
|
|
33
35
|
|
|
@@ -47,7 +49,7 @@ mustflow가 관리하는 세부 문서와 설정은 `.mustflow/` 폴더 아래
|
|
|
47
49
|
- `.mustflow/context/` 파일은 프로젝트 방향과 도메인 약속을 설명하는 작업별 컨텍스트입니다. 코드, 테스트, 명령 계약, 사용자 지시를 대신하는 최종 기준으로 보지 않습니다.
|
|
48
50
|
- `DESIGN.md`가 있으면 UI, 시각 디자인, 레이아웃, 디자인 토큰, 접근성 작업에서만 읽습니다. 없는 `DESIGN.md`를 임의로 생성하지 않습니다.
|
|
49
51
|
- 작업과 맞는 스킬이 있으면 해당 `SKILL.md`를 읽고 따릅니다.
|
|
50
|
-
- 파일을 만들거나 수정하기 전에 `.mustflow/skills/
|
|
52
|
+
- 파일을 만들거나 수정하기 전에 `.mustflow/skills/router.toml`로 현재 작업에 맞는 라우트 범주와 스킬 절차가 있는지 먼저 판단합니다. 압축 router만으로 부족하거나, 스킬 라우팅을 수정하거나, 상세 라우트 메타데이터가 필요하거나, 라우트 확신도가 애매할 때만 `.mustflow/skills/routes.toml`을 읽습니다. 전체 라우트 메타데이터만으로도 부족하거나, 확장 라우트 표를 수정하거나, 사람이 읽을 트리거 근거가 필요할 때만 `.mustflow/skills/INDEX.md`를 읽습니다. 이 스킬 선택 단계는 작업이 작거나 명백해 보이는 경우에도 반드시 거쳐야 합니다.
|
|
51
53
|
- `mf doctor`, `mf check` 같은 상태 점검 명령은 스킬 선택 단계를 대신하지 않습니다. 이 명령들은 저장소 상태를 확인할 뿐, 현재 작업에 어떤 절차가 필요한지 결정하지 않습니다.
|
|
52
54
|
- 적용되는 스킬이 있으면 해당 범위를 편집하기 전에 맞는 `SKILL.md`를 읽습니다. 파일을 만들거나 수정한 뒤에는 최종 보고에 짧은 스킬 선택 기록을 포함합니다. 사용한 스킬 이름, 설치된 스킬 중 맞는 항목이 없었다는 사실, 또는 색인상 그럴듯한 스킬이 현재 프로필에 설치되어 있지 않다는 누락 중 해당 내용을 밝힙니다.
|
|
53
55
|
- 명령 실패나 문서 변경 등 작업 중 새 근거가 생겨 스킬이 필요해지면, 해당 범위를 계속하기 전에 반드시 맞는 `SKILL.md`를 읽습니다.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id = "default"
|
|
2
2
|
name = "default"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.68.6"
|
|
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"
|
|
@@ -10,6 +10,7 @@ creates = [
|
|
|
10
10
|
".mustflow/context/INDEX.md",
|
|
11
11
|
".mustflow/context/PROJECT.md",
|
|
12
12
|
".mustflow/skills/INDEX.md",
|
|
13
|
+
".mustflow/skills/router.toml",
|
|
13
14
|
".mustflow/skills/routes.toml",
|
|
14
15
|
".mustflow/skills/adapter-boundary/SKILL.md",
|
|
15
16
|
".mustflow/skills/api-contract-change/SKILL.md",
|
|
@@ -23,6 +24,7 @@ creates = [
|
|
|
23
24
|
".mustflow/skills/behavior-preserving-refactor/SKILL.md",
|
|
24
25
|
".mustflow/skills/code-review/SKILL.md",
|
|
25
26
|
".mustflow/skills/ai-generated-code-hardening/SKILL.md",
|
|
27
|
+
".mustflow/skills/quality-gaming-guard/SKILL.md",
|
|
26
28
|
".mustflow/skills/module-boundary-review/SKILL.md",
|
|
27
29
|
".mustflow/skills/change-blast-radius-review/SKILL.md",
|
|
28
30
|
".mustflow/skills/business-rule-leakage-review/SKILL.md",
|
|
@@ -211,6 +213,7 @@ minimal = [
|
|
|
211
213
|
"behavior-preserving-refactor",
|
|
212
214
|
"code-review",
|
|
213
215
|
"ai-generated-code-hardening",
|
|
216
|
+
"quality-gaming-guard",
|
|
214
217
|
"module-boundary-review",
|
|
215
218
|
"change-blast-radius-review",
|
|
216
219
|
"business-rule-leakage-review",
|
|
@@ -339,6 +342,7 @@ patterns = [
|
|
|
339
342
|
"behavior-preserving-refactor",
|
|
340
343
|
"code-review",
|
|
341
344
|
"ai-generated-code-hardening",
|
|
345
|
+
"quality-gaming-guard",
|
|
342
346
|
"module-boundary-review",
|
|
343
347
|
"change-blast-radius-review",
|
|
344
348
|
"business-rule-leakage-review",
|
|
@@ -478,6 +482,7 @@ oss = [
|
|
|
478
482
|
"behavior-preserving-refactor",
|
|
479
483
|
"code-review",
|
|
480
484
|
"ai-generated-code-hardening",
|
|
485
|
+
"quality-gaming-guard",
|
|
481
486
|
"module-boundary-review",
|
|
482
487
|
"change-blast-radius-review",
|
|
483
488
|
"business-rule-leakage-review",
|
|
@@ -632,6 +637,7 @@ team = [
|
|
|
632
637
|
"behavior-preserving-refactor",
|
|
633
638
|
"code-review",
|
|
634
639
|
"ai-generated-code-hardening",
|
|
640
|
+
"quality-gaming-guard",
|
|
635
641
|
"module-boundary-review",
|
|
636
642
|
"change-blast-radius-review",
|
|
637
643
|
"business-rule-leakage-review",
|
|
@@ -772,6 +778,7 @@ product = [
|
|
|
772
778
|
"behavior-preserving-refactor",
|
|
773
779
|
"code-review",
|
|
774
780
|
"ai-generated-code-hardening",
|
|
781
|
+
"quality-gaming-guard",
|
|
775
782
|
"module-boundary-review",
|
|
776
783
|
"change-blast-radius-review",
|
|
777
784
|
"business-rule-leakage-review",
|
|
@@ -918,6 +925,7 @@ library = [
|
|
|
918
925
|
"behavior-preserving-refactor",
|
|
919
926
|
"code-review",
|
|
920
927
|
"ai-generated-code-hardening",
|
|
928
|
+
"quality-gaming-guard",
|
|
921
929
|
"module-boundary-review",
|
|
922
930
|
"change-blast-radius-review",
|
|
923
931
|
"business-rule-leakage-review",
|