@uoyo/mvtt 2.0.0 → 2.2.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 (94) hide show
  1. package/dist/cli.js +2 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/update.d.ts +1 -1
  4. package/dist/commands/update.d.ts.map +1 -1
  5. package/dist/commands/update.js +18 -1
  6. package/dist/commands/update.js.map +1 -1
  7. package/dist/fs/core-manifest.d.ts +4 -3
  8. package/dist/fs/core-manifest.d.ts.map +1 -1
  9. package/dist/fs/core-manifest.js +5 -4
  10. package/dist/fs/core-manifest.js.map +1 -1
  11. package/dist/fs/materialize.d.ts +2 -0
  12. package/dist/fs/materialize.d.ts.map +1 -1
  13. package/dist/fs/materialize.js +6 -5
  14. package/dist/fs/materialize.js.map +1 -1
  15. package/dist/fs/registry-merge.d.ts +4 -3
  16. package/dist/fs/registry-merge.d.ts.map +1 -1
  17. package/dist/fs/registry-merge.js +5 -4
  18. package/dist/fs/registry-merge.js.map +1 -1
  19. package/dist/scripts/epic-update.cjs +235 -207
  20. package/dist/scripts/epic-update.md +57 -0
  21. package/dist/scripts/plan-update.cjs +224 -222
  22. package/dist/scripts/plan-update.md +68 -0
  23. package/dist/scripts/session-update.cjs +229 -210
  24. package/install-manifest.yaml +4 -0
  25. package/package.json +1 -1
  26. package/sources/defaults/config.yaml +5 -0
  27. package/sources/scripts/epic-update.js +73 -22
  28. package/sources/scripts/epic-update.md +57 -0
  29. package/sources/scripts/plan-update.js +56 -28
  30. package/sources/scripts/plan-update.md +68 -0
  31. package/sources/scripts/session-update.js +68 -24
  32. package/sources/sections/activation-protocol.md +46 -0
  33. package/sources/sections/footer-next-steps.md +1 -1
  34. package/sources/sections/language-constraint.md +3 -18
  35. package/sources/sections/output-format-constraint.md +6 -9
  36. package/sources/sections/role-header.md +1 -1
  37. package/sources/sections/script-usage-rule.md +32 -0
  38. package/sources/sections/session-update.md +30 -110
  39. package/sources/skills/mvt-analyze/business.md +1 -1
  40. package/sources/skills/mvt-analyze/manifest.yaml +13 -16
  41. package/sources/skills/mvt-analyze-code/business.md +3 -0
  42. package/sources/skills/mvt-analyze-code/manifest.yaml +11 -15
  43. package/sources/skills/mvt-bug-detect/manifest.yaml +3 -4
  44. package/sources/skills/mvt-check-context/business.md +2 -2
  45. package/sources/skills/mvt-check-context/manifest.yaml +3 -6
  46. package/sources/skills/mvt-cleanup/business.md +47 -11
  47. package/sources/skills/mvt-cleanup/manifest.yaml +12 -13
  48. package/sources/skills/mvt-config/business.md +45 -49
  49. package/sources/skills/mvt-config/manifest.yaml +21 -25
  50. package/sources/skills/mvt-create-skill/business.md +15 -11
  51. package/sources/skills/mvt-create-skill/manifest.yaml +6 -9
  52. package/sources/skills/mvt-decompose/business.md +21 -9
  53. package/sources/skills/mvt-decompose/manifest.yaml +15 -17
  54. package/sources/skills/mvt-design/business.md +35 -44
  55. package/sources/skills/mvt-design/manifest.yaml +13 -15
  56. package/sources/skills/mvt-fix/business.md +7 -1
  57. package/sources/skills/mvt-fix/manifest.yaml +9 -13
  58. package/sources/skills/mvt-help/business.md +20 -9
  59. package/sources/skills/mvt-help/manifest.yaml +7 -18
  60. package/sources/skills/mvt-implement/business.md +27 -34
  61. package/sources/skills/mvt-implement/manifest.yaml +12 -21
  62. package/sources/skills/mvt-init/manifest.yaml +10 -13
  63. package/sources/skills/mvt-manage-context/business.md +4 -2
  64. package/sources/skills/mvt-manage-context/manifest.yaml +3 -6
  65. package/sources/skills/mvt-plan-dev/business.md +20 -8
  66. package/sources/skills/mvt-plan-dev/manifest.yaml +13 -17
  67. package/sources/skills/mvt-quick-dev/business.md +1 -1
  68. package/sources/skills/mvt-quick-dev/manifest.yaml +3 -4
  69. package/sources/skills/mvt-refactor/business.md +1 -1
  70. package/sources/skills/mvt-refactor/manifest.yaml +3 -4
  71. package/sources/skills/mvt-resume/business.md +3 -3
  72. package/sources/skills/mvt-resume/manifest.yaml +10 -13
  73. package/sources/skills/mvt-review/business.md +12 -11
  74. package/sources/skills/mvt-review/manifest.yaml +17 -18
  75. package/sources/skills/mvt-status/business.md +12 -21
  76. package/sources/skills/mvt-status/manifest.yaml +7 -10
  77. package/sources/skills/mvt-sync-context/business.md +20 -18
  78. package/sources/skills/mvt-sync-context/manifest.yaml +11 -15
  79. package/sources/skills/mvt-template/business.md +5 -5
  80. package/sources/skills/mvt-template/manifest.yaml +3 -6
  81. package/sources/skills/mvt-test/business.md +11 -11
  82. package/sources/skills/mvt-test/manifest.yaml +15 -18
  83. package/sources/skills/mvt-update-plan/business.md +18 -29
  84. package/sources/skills/mvt-update-plan/manifest.yaml +18 -16
  85. package/sources/templates/analyze-output/body.md +41 -0
  86. package/sources/templates/decompose-output/body.md +36 -0
  87. package/sources/templates/design-output/body.md +48 -0
  88. package/sources/templates/implement-output/body.md +48 -3
  89. package/sources/templates/project-context/body.md +45 -0
  90. package/sources/templates/review-output/body.md +59 -0
  91. package/sources/templates/test-output/body.md +72 -0
  92. package/sources/sections/activation-load-config.md +0 -11
  93. package/sources/sections/activation-load-context.md +0 -59
  94. package/sources/sections/activation-preflight.md +0 -14
@@ -1,7 +1,79 @@
1
1
  # Test Design: {Feature Name}
2
2
 
3
+ <!--
4
+ This template defines the structure of test-design.md.
5
+ Each section below includes a guidance comment explaining what to write.
6
+ Replace {Feature Name} with the actual feature/change name.
7
+ Remove these HTML comments in the final artifact.
8
+ -->
9
+
10
+ ## Scope
11
+ <!--
12
+ The target files under test and any fallbacks applied (e.g., resolved
13
+ from implementation.md Files Touched, or git diff, or user argument).
14
+ Establishes what this test design covers.
15
+ -->
16
+
17
+ ## Test Framework & Layout
18
+ <!--
19
+ The chosen test framework (inferred from project manifests or confirmed
20
+ with user) and the file layout convention used (mirror under tests/,
21
+ sibling *.test.ts, etc.). One short paragraph or a small table.
22
+ -->
23
+
24
+ ## Test Scenarios
25
+ <!--
26
+ The Scenario Table from the scenario-identification step. Columns:
27
+ | ID | Scenario | Type (happy/edge/negative/security/performance) | Rule-traced-to |.
28
+ Covers happy paths, boundaries, invalid inputs, business rules from
29
+ project-context.md, and error paths declared in design.md data flow.
30
+ -->
31
+
3
32
  ## Test Cases
33
+ <!--
34
+ The row-level test case table from the design step. Columns:
35
+ | ID | Scenario | Granularity | Preconditions | Inputs | Actions | Expected | Rule-traced-to |.
36
+ Each row maps to one concrete, runnable test. One scenario maps to one
37
+ granularity (unit / integration / E2E).
38
+ -->
4
39
 
5
40
  ## Test Code
41
+ <!--
42
+ The generated test files: file paths and a brief description of what
43
+ each file covers. The actual test source goes into the project tree;
44
+ this section is a record of what was written and where. Include any
45
+ setup/fixture notes that explain non-obvious test infrastructure.
46
+ -->
47
+
48
+ ## Granularity Decisions
49
+ <!--
50
+ Summary of how scenarios were assigned to unit / integration / E2E,
51
+ including any "needs setup" gaps (e.g., integration scenarios flagged
52
+ because the project lacks an integration test setup). One short
53
+ paragraph or a small table.
54
+ -->
6
55
 
7
56
  ## Coverage Analysis
57
+ <!--
58
+ Only when the --coverage flag is set; otherwise omit this heading
59
+ entirely. Map test cases back to target files/functions and business
60
+ rules from project-context.md; list gaps (untested functions, untested
61
+ rules, untested error paths) and recommend additional test cases for
62
+ each gap. Do not auto-generate gap tests unless the user confirms.
63
+ -->
64
+
65
+ ## Implementation Issues Found
66
+ <!--
67
+ Bugs discovered during scenario design or test writing (failing test
68
+ reveals a real bug, not a test bug). Each finding: scenario id, expected
69
+ vs observed, severity (Critical / Warning), and a recommendation to run
70
+ /mvt-fix. Do NOT modify production code from this skill. If none found,
71
+ write "None".
72
+ -->
73
+
74
+ ## Suggested Run Commands
75
+ <!--
76
+ One or two commands the user can copy-paste to execute the generated
77
+ tests (e.g., `npx vitest run path/to/test.test.ts`). Keep it minimal
78
+ and project-appropriate.
79
+ -->
@@ -1,11 +0,0 @@
1
- ### Step 4: Load Config & Apply Preferences (Config Foundation)
2
- Read `.ai-agents/config.yaml` and enforce the following throughout this entire session:
3
-
4
- **Language**:
5
- - `preferences.interaction_language` → Language for everything spoken to the user (chat, prompts, tables); NOT for files written to disk. See the **Language Constraint** section below for the full, non-negotiable rules.
6
- - `preferences.document_output_language` → Language for files written to disk. See the **Language Constraint** section below for the full rules.
7
-
8
- **Other preferences**:
9
- - `preferences.output.no_emojis` → If true, never use emojis
10
- - `preferences.output.data_format` → Use this format for data sections in artifacts
11
- - `preferences.context_routing.relevance_threshold` → Used by `/mvt-manage-context add` for AI routing (default 70 if missing)
@@ -1,59 +0,0 @@
1
- ## Activation Protocol
2
-
3
- ### Step 1: Load Context
4
- Load these files as foundational context:
5
- - `.ai-agents/workspace/project-context.yaml` -- Project index (structural info)
6
- - `.ai-agents/registry.yaml` -- Available skills registry and knowledge declarations
7
- {{?extended_context}}
8
-
9
- Extended context for this skill:
10
- {{/extended_context}}
11
- {{#extended_context}}
12
- - {{.}}
13
- {{/extended_context}}
14
-
15
- ### Step 2: Resolve Project Scope (PS)
16
-
17
- Read `project-context.yaml > projects[]`.
18
-
19
- **Single project** (`projects.length == 1`): Set PS = [sole project name]. Skip remaining PS steps.
20
-
21
- **Multi-project** (`projects.length > 1`):
22
- **Mode A -- Plan-driven** (active plan exists and skill operates on plan tasks):
23
- 1. **Plan signal**: PS = current task's `project` array from plan's `current_tasks`. Drop stale project names (not in `projects[]`), fall through.
24
- 2. **Path match**: Match current working paths against `projects[].path` and `source_paths`.
25
- 3. **Prompt**: If still unresolved, list candidates and ask user. Never silently load all projects.
26
-
27
- **Mode B -- Non-plan** (no active plan or ad-hoc changes):
28
- Defer PS to execution: identify change target, match against `projects[].path` and `source_paths`, load project-specific knowledge on demand (Step 3).
29
-
30
- ### Step 3: Load Knowledge
31
-
32
- Registry uses project-keyed maps; `_all` is a reserved key (all projects). Applies to both top-level `knowledge` and `skills.<name>.knowledge`.
33
-
34
- **Knowledge Loading Protocol**:
35
- For each knowledge entry in the registry, follow these steps:
36
- 1. **Read the `source` field** from the registry entry (e.g., `knowledge/project/_generated/`).
37
- 2. **Construct the base directory**: join `.ai-agents/` with the `source` value → `.ai-agents/{source_value}/`.
38
- 3. **Load files**:
39
- - `files: [a.md, b.md]` → load `.ai-agents/{source_value}/a.md`, `.ai-agents/{source_value}/b.md`.
40
- - `files_from_manifest: true` → read `.ai-agents/{source_value}/manifest.yaml`, load entries with `auto_load: true`.
41
- 4. **Skip non-existent paths** silently (do not error or warn).
42
-
43
- **Worked example**:
44
- Given this registry entry:
45
- ```yaml
46
- - id: project-context
47
- source: knowledge/project/_generated/
48
- files:
49
- - project-context.md
50
- ```
51
- Resolution: `.ai-agents/` + `knowledge/project/_generated/` + `project-context.md` = `.ai-agents/knowledge/project/_generated/project-context.md`
52
-
53
- **Anti-pattern -- DO NOT**:
54
- - Guess or hardcode base directories (e.g., `.ai-agents/workspace/`).
55
- - Assume a default path structure. The `source` field value is the authoritative path component.
56
-
57
- **At activation** (both modes): load `knowledge._all` + `skills.<current-skill>.knowledge._all`.
58
- **Mode A** (additionally): for each P in PS, load `knowledge[P]` + `skills.<current-skill>.knowledge[P]`.
59
- **Mode B** (during execution): on demand, load `knowledge[P]` + `skills.<current-skill>.knowledge[P]` for identified project(s).
@@ -1,14 +0,0 @@
1
- ### Step 5: Pre-flight Checks
2
-
3
- For each check below, if the condition holds, perform the action implied by its **Level**:
4
-
5
- - **WARN** -- emit the message, then ask "Continue anyway? (y/n)". Default to **y** if the user does not respond.
6
- - **BLOCK** -- emit the message and stop. Do not proceed until the prerequisite is satisfied.
7
- - **REQUIRED** -- same as BLOCK; the prerequisite is mandatory.
8
- - **INFO** -- emit the message and proceed; no confirmation needed.
9
-
10
- | # | Condition | Level | Message |
11
- |---|-----------|-------|---------|
12
- {{#checks}}
13
- | {{order}} | `{{field}}` is empty | {{level}} | {{message}} |
14
- {{/checks}}