mustflow 2.22.49 → 2.24.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -2
- package/dist/cli/commands/adapters.js +11 -9
- package/dist/cli/commands/api.js +263 -113
- package/dist/cli/commands/check.js +11 -7
- package/dist/cli/commands/classify.js +16 -42
- package/dist/cli/commands/context.js +18 -31
- package/dist/cli/commands/contract-lint.js +12 -7
- package/dist/cli/commands/dashboard.js +65 -114
- package/dist/cli/commands/docs.js +43 -26
- package/dist/cli/commands/doctor.js +11 -7
- package/dist/cli/commands/evidence.js +642 -0
- package/dist/cli/commands/explain-verify.js +1 -59
- package/dist/cli/commands/explain.js +84 -36
- package/dist/cli/commands/handoff.js +13 -17
- package/dist/cli/commands/impact.js +14 -20
- package/dist/cli/commands/index.js +15 -9
- package/dist/cli/commands/init.js +56 -70
- package/dist/cli/commands/line-endings.js +15 -9
- package/dist/cli/commands/map.js +30 -42
- package/dist/cli/commands/next.js +300 -0
- package/dist/cli/commands/onboard.js +136 -0
- package/dist/cli/commands/run.js +47 -42
- package/dist/cli/commands/search.js +43 -69
- package/dist/cli/commands/status.js +9 -6
- package/dist/cli/commands/update.js +16 -10
- package/dist/cli/commands/upgrade.js +9 -6
- package/dist/cli/commands/verify/args.js +55 -249
- package/dist/cli/commands/verify.js +2 -1
- package/dist/cli/commands/version-sources.js +9 -6
- package/dist/cli/commands/version.js +9 -6
- package/dist/cli/commands/workspace.js +564 -0
- package/dist/cli/i18n/en.js +60 -1
- package/dist/cli/i18n/es.js +60 -1
- package/dist/cli/i18n/fr.js +60 -1
- package/dist/cli/i18n/hi.js +60 -1
- package/dist/cli/i18n/ko.js +60 -1
- package/dist/cli/i18n/zh.js +60 -1
- package/dist/cli/index.js +28 -25
- package/dist/cli/lib/agent-context.js +8 -9
- package/dist/cli/lib/command-registry.js +24 -0
- package/dist/cli/lib/dashboard-html/client-script.js +1 -1
- package/dist/cli/lib/local-index/database-path.js +5 -0
- package/dist/cli/lib/local-index/database-read.js +88 -0
- package/dist/cli/lib/local-index/effect-graph-read-model.js +112 -0
- package/dist/cli/lib/local-index/freshness.js +60 -0
- package/dist/cli/lib/local-index/index.js +12 -1866
- package/dist/cli/lib/local-index/path-surface-read-model.js +134 -0
- package/dist/cli/lib/local-index/populate.js +474 -0
- package/dist/cli/lib/local-index/schema.js +413 -0
- package/dist/cli/lib/local-index/search-read-model.js +533 -0
- package/dist/cli/lib/local-index/search-text.js +79 -0
- package/dist/cli/lib/option-parser.js +93 -0
- package/dist/cli/lib/repo-map.js +2 -2
- package/dist/cli/lib/run-plan.js +5 -22
- package/dist/core/change-verification.js +11 -5
- package/dist/core/command-effects.js +1 -3
- package/dist/core/command-intent-eligibility.js +14 -0
- package/dist/core/command-preconditions.js +8 -4
- package/dist/core/command-run-constraints.js +43 -0
- package/dist/core/public-json-contracts.js +57 -0
- package/dist/core/test-selection.js +8 -2
- package/dist/core/verification-plan.js +32 -4
- package/package.json +1 -1
- package/schemas/README.md +16 -0
- package/schemas/api-serve-response.schema.json +89 -0
- package/schemas/change-verification-report.schema.json +4 -1
- package/schemas/contract-lint-report.schema.json +1 -0
- package/schemas/evidence-report.schema.json +287 -0
- package/schemas/explain-report.schema.json +4 -0
- package/schemas/next-report.schema.json +121 -0
- package/schemas/onboard-commands-report.schema.json +100 -0
- package/schemas/workspace-command-catalog.schema.json +172 -0
- package/schemas/workspace-status.schema.json +141 -0
- package/schemas/workspace-verification-plan.schema.json +195 -0
- package/templates/default/i18n.toml +7 -1
- package/templates/default/locales/en/.mustflow/skills/INDEX.md +2 -1
- package/templates/default/locales/en/.mustflow/skills/routes.toml +6 -0
- package/templates/default/locales/en/.mustflow/skills/version-freshness-check/SKILL.md +141 -0
- package/templates/default/manifest.toml +8 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
mustflow_doc: skill.version-freshness-check
|
|
3
|
+
locale: en
|
|
4
|
+
canonical: true
|
|
5
|
+
revision: 1
|
|
6
|
+
lifecycle: mustflow-owned
|
|
7
|
+
authority: procedure
|
|
8
|
+
name: version-freshness-check
|
|
9
|
+
description: Apply this skill when generated or edited code, configuration, CI workflows, package metadata, install instructions, examples, Docker images, framework setup, runtime declarations, toolchain declarations, or migration-sensitive snippets introduce explicit external version references that may be stale.
|
|
10
|
+
metadata:
|
|
11
|
+
mustflow_schema: "1"
|
|
12
|
+
mustflow_kind: procedure
|
|
13
|
+
pack_id: mustflow.core
|
|
14
|
+
skill_id: mustflow.core.version-freshness-check
|
|
15
|
+
command_intents:
|
|
16
|
+
- changes_status
|
|
17
|
+
- changes_diff_summary
|
|
18
|
+
- build
|
|
19
|
+
- test_related
|
|
20
|
+
- docs_validate_fast
|
|
21
|
+
- test_release
|
|
22
|
+
- mustflow_check
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Version Freshness Check
|
|
26
|
+
|
|
27
|
+
<!-- mustflow-section: purpose -->
|
|
28
|
+
## Purpose
|
|
29
|
+
|
|
30
|
+
Prevent agents from writing stale external version references from memory, while avoiding blind upgrades that ignore repository policy, compatibility, or migration cost.
|
|
31
|
+
|
|
32
|
+
<!-- mustflow-section: use-when -->
|
|
33
|
+
## Use When
|
|
34
|
+
|
|
35
|
+
- Generated or edited files introduce explicit external version references, action refs, package ranges, runtime versions, framework majors, Docker image tags, toolchain versions, setup actions, scaffold commands, install commands, or migration examples.
|
|
36
|
+
- CI workflows, release workflows, Dockerfiles, package metadata, lockfiles, runtime files, framework configuration, README examples, docs, tests, fixtures, or templates mention external versions such as GitHub Actions refs, Node, Bun, Deno, Python, Rust, Tauri, Astro, Next, SvelteKit, Electron, Docker images, package managers, SDKs, plugins, or generators.
|
|
37
|
+
- An agent proposes a versioned dependency, tool, framework, action, image, or runtime based on memory, copied snippets, older project examples, or user-provided text that may be stale.
|
|
38
|
+
- The task asks whether a newer stable, recommended, LTS, or security-patched version should replace a version the agent was about to write.
|
|
39
|
+
- A patch claims a version is latest, current, recommended, stable, LTS, supported, deprecated, end-of-life, or migration-safe.
|
|
40
|
+
|
|
41
|
+
<!-- mustflow-section: do-not-use-when -->
|
|
42
|
+
## Do Not Use When
|
|
43
|
+
|
|
44
|
+
- The version reference is purely repository-local, such as an internal schema revision, fixture id, or package version already handled by `date-number-audit`.
|
|
45
|
+
- The task only preserves an existing pinned external version without touching code, docs, examples, package metadata, CI, Docker, runtime declarations, or compatibility claims.
|
|
46
|
+
- The task is a deliberate dependency upgrade, downgrade, lockfile refresh, or security advisory fix; use `dependency-upgrade-review` as the main skill and this skill only for freshness-specific claims if needed.
|
|
47
|
+
- The task only checks whether a dependency exists or whether a package name is real; use `dependency-reality-check` first.
|
|
48
|
+
- The user explicitly requests an offline-only draft and accepts that version freshness will be reported as unverified.
|
|
49
|
+
|
|
50
|
+
<!-- mustflow-section: required-inputs -->
|
|
51
|
+
## Required Inputs
|
|
52
|
+
|
|
53
|
+
- The versioned external reference being introduced, changed, preserved, or reported.
|
|
54
|
+
- Files that own or repeat the version: package metadata, lockfiles, workflow files, Dockerfiles, runtime files, framework config, docs, examples, templates, fixtures, and tests.
|
|
55
|
+
- Repository version policy if present: pinned ranges, lockfile expectations, LTS policy, security patch policy, supported runtime matrix, migration notes, downgrade constraints, or organization rules.
|
|
56
|
+
- Approved freshness evidence when available: official docs, upstream repository releases, package registry metadata, image registry metadata, official migration notes, security advisory ranges, or existing repository-maintained snapshots.
|
|
57
|
+
- Compatibility context: new project or existing project, patch/minor/major difference, framework adapter/plugin compatibility, runtime engine support, generated output, migration burden, rollback path, and whether the version touches a survival path.
|
|
58
|
+
- Relevant command-intent contract entries for build, tests, docs, packaging, or mustflow validation.
|
|
59
|
+
|
|
60
|
+
<!-- mustflow-section: preconditions -->
|
|
61
|
+
## Preconditions
|
|
62
|
+
|
|
63
|
+
- The task matches the Use When conditions and does not match the Do Not Use When exclusions.
|
|
64
|
+
- Higher-priority instructions and `.mustflow/config/commands.toml` have been checked for the current scope.
|
|
65
|
+
- Freshness evidence can be gathered from allowed local files, configured tooling, approved connectors, official sources, package metadata, registry metadata, or the user-provided source text. If none is available, the check must be reported as unverified rather than guessed.
|
|
66
|
+
|
|
67
|
+
<!-- mustflow-section: allowed-edits -->
|
|
68
|
+
## Allowed Edits
|
|
69
|
+
|
|
70
|
+
- Align versioned references across package metadata, workflow files, runtime declarations, templates, docs, examples, and tests when the repository policy and compatibility classification support the change.
|
|
71
|
+
- Replace stale generated defaults with a verified stable, recommended, LTS, or repository-pinned value when the change is compatible and within scope.
|
|
72
|
+
- Add conservative wording when a version was not refreshed or when multiple legitimate version tracks exist.
|
|
73
|
+
- Do not force the newest major version, floating tag, or broad range when the repository pins a different supported track.
|
|
74
|
+
- Do not claim a version is current, latest, stable, recommended, LTS, deprecated, or secure unless the claim was refreshed or clearly marked as snapshot-only.
|
|
75
|
+
- Do not add package-manager, registry, browser, or network commands to the skill. Use configured command intents or report missing verification.
|
|
76
|
+
|
|
77
|
+
<!-- mustflow-section: procedure -->
|
|
78
|
+
## Procedure
|
|
79
|
+
|
|
80
|
+
1. Build a version ledger before editing: each external version reference, where it appears, whether it is new or existing, and whether it is code, config, CI, Docker, package metadata, docs, template, fixture, or test data.
|
|
81
|
+
2. Check repository policy before upstream freshness: package and lock metadata, runtime files, CI matrices, Docker tags, supported-version docs, migration notes, existing examples, and command contracts.
|
|
82
|
+
3. Identify the intended track for each reference: repository-pinned, lockfile-resolved, latest stable, recommended major, LTS, security-patched minimum, compatibility range, floating tag, digest-pinned image, or snapshot-only example.
|
|
83
|
+
4. Refresh stale-sensitive external facts with the highest-authority allowed source available. Prefer official docs, upstream releases, package registry metadata, official migration notes, official image metadata, or user-provided current evidence over secondary summaries.
|
|
84
|
+
5. If freshness cannot be checked with the available tools or permissions, keep the version conservative, avoid current-version claims, and report the unchecked source boundary.
|
|
85
|
+
6. Compare the proposed value, repository policy, and upstream evidence. Classify the difference as `same`, `patch`, `minor`, `major`, `migration-required`, `security-minimum`, `policy-pinned`, `floating`, or `unknown`.
|
|
86
|
+
7. Treat major, migration-required, pre-1.0, framework, runtime-engine, CI-action, Docker-image, generator, native, security-sensitive, and survival-path changes as higher risk even when the version number looks small.
|
|
87
|
+
8. For new projects or new examples, prefer the verified stable or officially recommended track unless the repository policy pins another track.
|
|
88
|
+
9. For existing projects, do not cross a major, migration-required, engine, framework, CI-image, or generated-output boundary without user approval or explicit repository policy.
|
|
89
|
+
10. For patch, security-minimum, and low-risk minor differences, update only when the declaration, examples, lockfile policy, and verification surface can stay aligned. Otherwise report the proposed change and leave the pinned value unchanged.
|
|
90
|
+
11. For GitHub Actions and CI tools, review the action source, major tag policy, runtime support, cache behavior, permissions, and organization pinning rule. Do not assume a newer major is safe only because it exists.
|
|
91
|
+
12. For framework and runtime majors such as Astro, Tauri, Electron, Next, SvelteKit, Node, Bun, Deno, Python, Rust, or Java, check migration notes, config schema, plugin and adapter compatibility, generated files, security model, deployment target, and rollback path before recommending a major change.
|
|
92
|
+
13. For Docker images, decide whether the project prefers semver tags, distro tags, LTS tags, date tags, or digests. Do not replace a digest or pinned base image with a floating tag unless the repository policy says so.
|
|
93
|
+
14. Synchronize every accepted version decision across package metadata, lockfiles when intentionally updated, CI, Docker, runtime files, docs, examples, templates, tests, and release notes.
|
|
94
|
+
15. Run the narrowest configured verification that covers the changed versioned surface. Use broader verification for major, migration-required, runtime, framework, generated-output, package-publish, Docker, CI, or security-sensitive changes.
|
|
95
|
+
|
|
96
|
+
<!-- mustflow-section: postconditions -->
|
|
97
|
+
## Postconditions
|
|
98
|
+
|
|
99
|
+
- Every touched external version reference has a ledger entry with repository policy, freshness evidence, compatibility classification, and final decision.
|
|
100
|
+
- Stale model defaults are not silently written as if they were current.
|
|
101
|
+
- Repository-pinned versions are preserved unless the task, policy, and compatibility classification support changing them.
|
|
102
|
+
- Major or migration-required changes are either explicitly approved, deferred with a recommendation, or left unchanged with the risk reported.
|
|
103
|
+
- Docs and examples do not make unverifiable current-version claims.
|
|
104
|
+
|
|
105
|
+
<!-- mustflow-section: verification -->
|
|
106
|
+
## Verification
|
|
107
|
+
|
|
108
|
+
Use configured oneshot command intents when available:
|
|
109
|
+
|
|
110
|
+
- `changes_status`
|
|
111
|
+
- `changes_diff_summary`
|
|
112
|
+
- `build`
|
|
113
|
+
- `test_related`
|
|
114
|
+
- `docs_validate_fast`
|
|
115
|
+
- `test_release`
|
|
116
|
+
- `mustflow_check`
|
|
117
|
+
|
|
118
|
+
Choose the narrowest configured intent that proves the changed versioned surface. Report missing dependency, package, docs, Docker, CI, or release verification instead of inventing commands.
|
|
119
|
+
|
|
120
|
+
<!-- mustflow-section: failure-handling -->
|
|
121
|
+
## Failure Handling
|
|
122
|
+
|
|
123
|
+
- If repository policy and upstream evidence disagree, preserve the repository policy unless the user explicitly chooses a migration or the existing version is outside a required security or support range.
|
|
124
|
+
- If official sources conflict, prefer the source that owns the artifact being referenced and report the conflict.
|
|
125
|
+
- If a freshness check requires network, credentials, or a connector that is not available, report the boundary and avoid current-version claims.
|
|
126
|
+
- If a proposed major or migration-required version is better for greenfield work but risky for the existing project, present both choices and ask before changing the project.
|
|
127
|
+
- If verification fails after a freshness update, do not weaken tests, lower type checks, delete lockfiles, or widen ranges to make the update pass. Revert or narrow the version decision unless the behavior change is intentional.
|
|
128
|
+
|
|
129
|
+
<!-- mustflow-section: output-format -->
|
|
130
|
+
## Output Format
|
|
131
|
+
|
|
132
|
+
- Versioned surfaces checked
|
|
133
|
+
- Repository version policy found or missing
|
|
134
|
+
- Freshness source checked or unavailable
|
|
135
|
+
- Proposed and selected version track
|
|
136
|
+
- Compatibility classification: `same`, `patch`, `minor`, `major`, `migration-required`, `security-minimum`, `policy-pinned`, `floating`, or `unknown`
|
|
137
|
+
- User approval needed or not, with reason
|
|
138
|
+
- Surfaces synchronized
|
|
139
|
+
- Command intents run
|
|
140
|
+
- Skipped freshness or verification checks and reasons
|
|
141
|
+
- Remaining version freshness risk
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
id = "default"
|
|
2
2
|
name = "default"
|
|
3
|
-
version = "2.
|
|
3
|
+
version = "2.24.2"
|
|
4
4
|
description = "Minimal workflow for LLM agents to read, edit, and verify their work in a repository."
|
|
5
5
|
common_root = "common"
|
|
6
6
|
locales_root = "locales"
|
|
@@ -48,6 +48,7 @@ creates = [
|
|
|
48
48
|
".mustflow/skills/dependency-injection/SKILL.md",
|
|
49
49
|
".mustflow/skills/dependency-reality-check/SKILL.md",
|
|
50
50
|
".mustflow/skills/dependency-upgrade-review/SKILL.md",
|
|
51
|
+
".mustflow/skills/version-freshness-check/SKILL.md",
|
|
51
52
|
".mustflow/skills/diff-risk-review/SKILL.md",
|
|
52
53
|
".mustflow/skills/pure-core-imperative-shell/SKILL.md",
|
|
53
54
|
".mustflow/skills/result-option/SKILL.md",
|
|
@@ -147,6 +148,7 @@ minimal = [
|
|
|
147
148
|
"database-migration-change",
|
|
148
149
|
"dependency-reality-check",
|
|
149
150
|
"dependency-upgrade-review",
|
|
151
|
+
"version-freshness-check",
|
|
150
152
|
"diff-risk-review",
|
|
151
153
|
"docs-update",
|
|
152
154
|
"external-prompt-injection-defense",
|
|
@@ -200,6 +202,7 @@ patterns = [
|
|
|
200
202
|
"dependency-injection",
|
|
201
203
|
"dependency-reality-check",
|
|
202
204
|
"dependency-upgrade-review",
|
|
205
|
+
"version-freshness-check",
|
|
203
206
|
"diff-risk-review",
|
|
204
207
|
"docs-update",
|
|
205
208
|
"external-prompt-injection-defense",
|
|
@@ -263,6 +266,7 @@ oss = [
|
|
|
263
266
|
"dependency-injection",
|
|
264
267
|
"dependency-reality-check",
|
|
265
268
|
"dependency-upgrade-review",
|
|
269
|
+
"version-freshness-check",
|
|
266
270
|
"diff-risk-review",
|
|
267
271
|
"docs-prose-review",
|
|
268
272
|
"docs-update",
|
|
@@ -335,6 +339,7 @@ team = [
|
|
|
335
339
|
"dependency-injection",
|
|
336
340
|
"dependency-reality-check",
|
|
337
341
|
"dependency-upgrade-review",
|
|
342
|
+
"version-freshness-check",
|
|
338
343
|
"diff-risk-review",
|
|
339
344
|
"docs-update",
|
|
340
345
|
"external-prompt-injection-defense",
|
|
@@ -395,6 +400,7 @@ product = [
|
|
|
395
400
|
"dependency-injection",
|
|
396
401
|
"dependency-reality-check",
|
|
397
402
|
"dependency-upgrade-review",
|
|
403
|
+
"version-freshness-check",
|
|
398
404
|
"diff-risk-review",
|
|
399
405
|
"docs-update",
|
|
400
406
|
"external-prompt-injection-defense",
|
|
@@ -463,6 +469,7 @@ library = [
|
|
|
463
469
|
"dependency-injection",
|
|
464
470
|
"dependency-reality-check",
|
|
465
471
|
"dependency-upgrade-review",
|
|
472
|
+
"version-freshness-check",
|
|
466
473
|
"diff-risk-review",
|
|
467
474
|
"docs-prose-review",
|
|
468
475
|
"docs-update",
|