mindsystem-cc 3.2.3 → 3.3.1
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 +2 -2
- package/agents/ms-code-simplifier.md +215 -0
- package/agents/ms-consolidator.md +377 -0
- package/agents/ms-executor.md +32 -261
- package/{commands/ms/simplify-flutter.md → agents/ms-flutter-simplifier.md} +41 -49
- package/agents/ms-researcher.md +2 -2
- package/commands/ms/complete-milestone.md +24 -3
- package/commands/ms/do-work.md +17 -3
- package/commands/ms/execute-phase.md +29 -14
- package/commands/ms/help.md +1 -1
- package/commands/ms/new-milestone.md +42 -30
- package/commands/ms/progress.md +1 -1
- package/commands/ms/research-project.md +8 -0
- package/commands/ms/review-design.md +1 -1
- package/mindsystem/references/git-integration.md +2 -2
- package/mindsystem/references/goal-backward.md +2 -2
- package/mindsystem/references/principles.md +1 -1
- package/mindsystem/templates/adhoc-summary.md +3 -0
- package/mindsystem/templates/codebase/architecture.md +2 -2
- package/mindsystem/templates/codebase/structure.md +1 -1
- package/mindsystem/templates/config.json +2 -1
- package/mindsystem/templates/decisions.md +145 -0
- package/mindsystem/workflows/complete-milestone.md +66 -15
- package/mindsystem/workflows/create-milestone.md +60 -20
- package/mindsystem/workflows/do-work.md +81 -4
- package/mindsystem/workflows/execute-phase.md +66 -0
- package/mindsystem/workflows/map-codebase.md +9 -1
- package/mindsystem/workflows/verify-work.md +1 -1
- package/package.json +1 -1
- package/scripts/generate-adhoc-patch.sh +79 -0
- package/scripts/ms-lookup/uv.lock +17 -17
- package/commands/ms/discuss-milestone.md +0 -48
- package/commands/ms/linear.md +0 -195
- package/mindsystem/templates/milestone-context.md +0 -93
- package/scripts/ms-linear/ms_linear/__init__.py +0 -3
- package/scripts/ms-linear/ms_linear/__main__.py +0 -6
- package/scripts/ms-linear/ms_linear/__pycache__/__init__.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/__main__.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/cli.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/client.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/config.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/errors.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/__pycache__/output.cpython-314.pyc +0 -0
- package/scripts/ms-linear/ms_linear/cli.py +0 -604
- package/scripts/ms-linear/ms_linear/client.py +0 -503
- package/scripts/ms-linear/ms_linear/config.py +0 -104
- package/scripts/ms-linear/ms_linear/errors.py +0 -29
- package/scripts/ms-linear/ms_linear/output.py +0 -45
- package/scripts/ms-linear/pyproject.toml +0 -16
- package/scripts/ms-linear/uv.lock +0 -196
- package/scripts/ms-linear-wrapper.sh +0 -22
|
@@ -25,7 +25,6 @@ Load project context:
|
|
|
25
25
|
cat .planning/PROJECT.md
|
|
26
26
|
cat .planning/MILESTONES.md 2>/dev/null || echo "No milestones file yet"
|
|
27
27
|
cat .planning/STATE.md
|
|
28
|
-
cat .planning/MILESTONE-CONTEXT.md 2>/dev/null || echo "No milestone context file"
|
|
29
28
|
cat .planning/config.json 2>/dev/null
|
|
30
29
|
```
|
|
31
30
|
|
|
@@ -33,22 +32,21 @@ Extract:
|
|
|
33
32
|
- What shipped previously (from MILESTONES.md)
|
|
34
33
|
- Current Validated requirements (from PROJECT.md)
|
|
35
34
|
- Pending todos and blockers (from STATE.md)
|
|
36
|
-
- Any context from discuss-milestone (MILESTONE-CONTEXT.md)
|
|
37
35
|
|
|
38
36
|
**Calculate next milestone version:**
|
|
39
37
|
- Parse last version from MILESTONES.md
|
|
40
38
|
- If v1.0 → suggest v1.1 (minor) or v2.0 (major)
|
|
41
39
|
- If v1.3 → suggest v1.4 or v2.0
|
|
42
|
-
</step>
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
- Skip to confirm_goals step
|
|
41
|
+
**Calculate previous milestone for context:**
|
|
42
|
+
- If v1.1 starting → previous is v1.0
|
|
43
|
+
- Store previous version number for use in gather_goals step
|
|
44
|
+
- Context files (DECISIONS.md, AUDIT.md) will be loaded on-demand based on user's choice
|
|
49
45
|
|
|
50
|
-
**
|
|
46
|
+
**Why only the last milestone?** Older decisions that remain important should already be in PROJECT.md or visible in the codebase. Older untested assumptions that weren't addressed are intentionally skipped. Loading all previous milestones would bloat context for diminishing returns.
|
|
47
|
+
</step>
|
|
51
48
|
|
|
49
|
+
<step name="gather_goals">
|
|
52
50
|
Present what shipped:
|
|
53
51
|
```
|
|
54
52
|
Last milestone: v[X.Y] [Name]
|
|
@@ -62,15 +60,65 @@ Pending todos:
|
|
|
62
60
|
- [From STATE.md if any]
|
|
63
61
|
```
|
|
64
62
|
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
**Decision gate:**
|
|
64
|
+
|
|
65
|
+
Use AskUserQuestion:
|
|
66
|
+
```
|
|
67
|
+
header: "New Milestone"
|
|
68
|
+
question: "How do you want to start v[X.Y]?"
|
|
69
|
+
options:
|
|
70
|
+
- "I know what to build" — proceed to goal gathering
|
|
71
|
+
- "Help me figure it out" — enter discovery mode with previous context
|
|
72
|
+
- "Show previous decisions first" — view DECISIONS.md and AUDIT.md, then decide
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**If "I know what to build":**
|
|
76
|
+
- Ask directly: "What do you want to build in the next milestone?"
|
|
77
|
+
- Wait for response
|
|
78
|
+
- Proceed to confirm_goals
|
|
79
|
+
|
|
80
|
+
**If "Show previous decisions first":**
|
|
81
|
+
- Using the previous version from load_context (e.g., "1.0"):
|
|
82
|
+
- Check for and read `.planning/milestones/v1.0-DECISIONS.md` if exists
|
|
83
|
+
- Check for and read `.planning/milestones/v1.0-MILESTONE-AUDIT.md` if exists
|
|
84
|
+
- Present relevant context from these files
|
|
85
|
+
- Then present decision gate again (without this option)
|
|
86
|
+
|
|
87
|
+
**If "Help me figure it out" (Discovery Mode):**
|
|
88
|
+
- Using the previous version from load_context:
|
|
89
|
+
- Check for and read `.planning/milestones/v{VERSION}-DECISIONS.md` if exists
|
|
90
|
+
- Check for and read `.planning/milestones/v{VERSION}-MILESTONE-AUDIT.md` if exists
|
|
91
|
+
|
|
92
|
+
Surface untested assumptions (from AUDIT.md):
|
|
93
|
+
```
|
|
94
|
+
📋 Untested from v[previous]:
|
|
95
|
+
- Error state displays (couldn't mock API errors)
|
|
96
|
+
- Empty state handling (couldn't clear test data)
|
|
97
|
+
- [etc. from assumptions section]
|
|
98
|
+
|
|
99
|
+
These were skipped during UAT. Address them in this milestone?
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Run AskUserQuestion-based feature discovery:
|
|
103
|
+
```
|
|
104
|
+
header: "What to build"
|
|
105
|
+
question: "What do you want to add, improve, or fix?"
|
|
106
|
+
options:
|
|
107
|
+
- "Address untested assumptions" — add test infrastructure or fix gaps
|
|
108
|
+
- "New features" — build something new
|
|
109
|
+
- "Improvements" — enhance existing features
|
|
110
|
+
- "Bug fixes" — fix known issues
|
|
111
|
+
- "Let me describe" — freeform input
|
|
112
|
+
```
|
|
67
113
|
|
|
68
|
-
|
|
114
|
+
Continue with follow-up questions:
|
|
69
115
|
- Probe specific features mentioned
|
|
70
116
|
- Ask about priorities
|
|
71
117
|
- Surface constraints or dependencies
|
|
72
118
|
- Clarify scope boundaries
|
|
73
119
|
|
|
120
|
+
Follow questioning.md patterns for AskUserQuestion-based discovery.
|
|
121
|
+
|
|
74
122
|
Continue until you have clear milestone goals.
|
|
75
123
|
</step>
|
|
76
124
|
|
|
@@ -138,13 +186,6 @@ Progress: ░░░░░░░░░░ 0%
|
|
|
138
186
|
Keep Accumulated Context (decisions, blockers) from previous milestone.
|
|
139
187
|
</step>
|
|
140
188
|
|
|
141
|
-
<step name="cleanup">
|
|
142
|
-
Delete temporary context file if it exists:
|
|
143
|
-
|
|
144
|
-
```bash
|
|
145
|
-
rm -f .planning/MILESTONE-CONTEXT.md
|
|
146
|
-
```
|
|
147
|
-
</step>
|
|
148
189
|
|
|
149
190
|
<step name="git_commit">
|
|
150
191
|
```bash
|
|
@@ -197,7 +238,6 @@ PROJECT.md updated with:
|
|
|
197
238
|
- PROJECT.md updated with Current Milestone section
|
|
198
239
|
- Active requirements reflect new milestone goals
|
|
199
240
|
- STATE.md reset for new milestone (keeps accumulated context)
|
|
200
|
-
- MILESTONE-CONTEXT.md consumed and deleted (if existed)
|
|
201
241
|
- Git commit made
|
|
202
242
|
- User routed to define-requirements (or research-project)
|
|
203
243
|
</success_criteria>
|
|
@@ -48,11 +48,11 @@ Validate description is actionable (not vague like "fix stuff" or "make it work"
|
|
|
48
48
|
</step>
|
|
49
49
|
|
|
50
50
|
<step name="validate_project">
|
|
51
|
-
Verify active
|
|
51
|
+
Verify active Mindsystem project:
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
54
|
if [ ! -f .planning/STATE.md ]; then
|
|
55
|
-
echo "ERROR: No active
|
|
55
|
+
echo "ERROR: No active Mindsystem project found (.planning/STATE.md missing)"
|
|
56
56
|
echo ""
|
|
57
57
|
echo "Options:"
|
|
58
58
|
echo "- Initialize project: /ms:new-project"
|
|
@@ -217,6 +217,56 @@ Verify the work is complete:
|
|
|
217
217
|
Keep verification focused on the specific changes made.
|
|
218
218
|
</step>
|
|
219
219
|
|
|
220
|
+
<step name="simplify_code">
|
|
221
|
+
Read simplifier from config:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
SIMPLIFIER=$(cat .planning/config.json 2>/dev/null | jq -r '.simplifier // empty')
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**If SIMPLIFIER = "skip":**
|
|
228
|
+
Skip to create_adhoc_summary.
|
|
229
|
+
|
|
230
|
+
**If SIMPLIFIER = empty/null:**
|
|
231
|
+
Use default: `SIMPLIFIER="ms-code-simplifier"`
|
|
232
|
+
|
|
233
|
+
**Otherwise:**
|
|
234
|
+
Use SIMPLIFIER value directly as agent name.
|
|
235
|
+
|
|
236
|
+
1. **Get modified files:**
|
|
237
|
+
```bash
|
|
238
|
+
git diff --name-only HEAD | grep -E '\.(dart|ts|tsx|js|jsx|swift|kt|py|go|rs)$'
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
2. **Spawn simplifier with adhoc scope:**
|
|
242
|
+
```
|
|
243
|
+
Task(
|
|
244
|
+
prompt="
|
|
245
|
+
<objective>
|
|
246
|
+
Simplify code modified in adhoc work.
|
|
247
|
+
Preserve all functionality. Improve clarity and consistency.
|
|
248
|
+
</objective>
|
|
249
|
+
|
|
250
|
+
<scope>
|
|
251
|
+
Files to analyze:
|
|
252
|
+
{MODIFIED_FILES}
|
|
253
|
+
</scope>
|
|
254
|
+
|
|
255
|
+
<output>
|
|
256
|
+
After simplifications, run static analysis and tests.
|
|
257
|
+
Report what was simplified and verification results.
|
|
258
|
+
</output>
|
|
259
|
+
",
|
|
260
|
+
subagent_type="{SIMPLIFIER}"
|
|
261
|
+
)
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
3. **Track simplification changes:**
|
|
265
|
+
- If changes made: Set `SIMPLIFICATION_APPLIED=true`
|
|
266
|
+
- Simplified files will be included in the adhoc commit
|
|
267
|
+
- Note in SUMMARY.md that simplification was applied
|
|
268
|
+
</step>
|
|
269
|
+
|
|
220
270
|
<step name="create_adhoc_summary">
|
|
221
271
|
Create SUMMARY.md (see @~/.claude/mindsystem/templates/adhoc-summary.md for full template):
|
|
222
272
|
|
|
@@ -286,11 +336,12 @@ If section doesn't exist, add after "### Pending Todos" section:
|
|
|
286
336
|
</step>
|
|
287
337
|
|
|
288
338
|
<step name="git_commit">
|
|
289
|
-
Single commit for all changes:
|
|
339
|
+
Single commit for all changes (including simplifications if applied):
|
|
290
340
|
|
|
291
341
|
```bash
|
|
292
|
-
# Add all modified files
|
|
342
|
+
# Add all modified files (code + simplified files)
|
|
293
343
|
git add [code files modified]
|
|
344
|
+
git add [simplified files if SIMPLIFICATION_APPLIED]
|
|
294
345
|
git add "$plan_file"
|
|
295
346
|
git add "$summary_file"
|
|
296
347
|
git add .planning/STATE.md
|
|
@@ -300,10 +351,18 @@ git add .planning/STATE.md
|
|
|
300
351
|
# fix: bug fix, correction
|
|
301
352
|
commit_type="fix" # or "feat" based on nature of work
|
|
302
353
|
|
|
354
|
+
# Include simplification note if applied
|
|
355
|
+
if [ "$SIMPLIFICATION_APPLIED" = "true" ]; then
|
|
356
|
+
simplification_note="Includes code simplification pass."
|
|
357
|
+
else
|
|
358
|
+
simplification_note=""
|
|
359
|
+
fi
|
|
360
|
+
|
|
303
361
|
git commit -m "$(cat <<'EOF'
|
|
304
362
|
${commit_type}(adhoc): [description]
|
|
305
363
|
|
|
306
364
|
Files: [count] modified
|
|
365
|
+
${simplification_note}
|
|
307
366
|
EOF
|
|
308
367
|
)"
|
|
309
368
|
|
|
@@ -314,6 +373,22 @@ commit_hash=$(git rev-parse --short HEAD)
|
|
|
314
373
|
Update SUMMARY.md with commit hash in frontmatter.
|
|
315
374
|
</step>
|
|
316
375
|
|
|
376
|
+
<step name="generate_adhoc_patch">
|
|
377
|
+
Generate patch file from the adhoc commit:
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
patch_file=".planning/adhoc/${timestamp}-${slug}.patch"
|
|
381
|
+
|
|
382
|
+
~/.claude/mindsystem/scripts/generate-adhoc-patch.sh "$commit_hash" "$patch_file"
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
If patch generated (file exists and non-empty):
|
|
386
|
+
- Update SUMMARY.md frontmatter to include `patch_file: [path]`
|
|
387
|
+
|
|
388
|
+
If skipped (no implementation changes outside exclusions):
|
|
389
|
+
- Leave patch_file field empty or omit from SUMMARY.md
|
|
390
|
+
</step>
|
|
391
|
+
|
|
317
392
|
<step name="completion">
|
|
318
393
|
Report completion:
|
|
319
394
|
|
|
@@ -327,6 +402,7 @@ Adhoc work complete: [description]
|
|
|
327
402
|
Artifacts:
|
|
328
403
|
- Plan: .planning/adhoc/[timestamp]-[slug]-PLAN.md
|
|
329
404
|
- Summary: .planning/adhoc/[timestamp]-[slug]-SUMMARY.md
|
|
405
|
+
- Patch: .planning/adhoc/[timestamp]-[slug].patch (if generated)
|
|
330
406
|
|
|
331
407
|
STATE.md updated with adhoc entry.
|
|
332
408
|
|
|
@@ -354,6 +430,7 @@ Rule 4 is strict for adhoc work — architectural changes exceed adhoc scope by
|
|
|
354
430
|
<output_artifacts>
|
|
355
431
|
- `.planning/adhoc/{timestamp}-{slug}-PLAN.md` — lightweight plan
|
|
356
432
|
- `.planning/adhoc/{timestamp}-{slug}-SUMMARY.md` — completion summary
|
|
433
|
+
- `.planning/adhoc/{timestamp}-{slug}.patch` — implementation changes (if any)
|
|
357
434
|
- Updated `.planning/STATE.md` — adhoc entry in accumulated context
|
|
358
435
|
- Git commit with all changes
|
|
359
436
|
</output_artifacts>
|
|
@@ -341,6 +341,72 @@ After all waves complete, aggregate results:
|
|
|
341
341
|
```
|
|
342
342
|
</step>
|
|
343
343
|
|
|
344
|
+
<step name="simplify_code">
|
|
345
|
+
Read simplifier agent name from config:
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
SIMPLIFIER=$(cat .planning/config.json 2>/dev/null | jq -r '.simplifier // empty')
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
**If SIMPLIFIER = "skip":**
|
|
352
|
+
Report: "Code simplification skipped (config: skip)"
|
|
353
|
+
Proceed to verify_phase_goal.
|
|
354
|
+
|
|
355
|
+
**If SIMPLIFIER = empty/null:**
|
|
356
|
+
Use default: `SIMPLIFIER="ms-code-simplifier"`
|
|
357
|
+
|
|
358
|
+
**Otherwise:**
|
|
359
|
+
Use SIMPLIFIER value directly as agent name.
|
|
360
|
+
|
|
361
|
+
1. **Gather changed files:**
|
|
362
|
+
```bash
|
|
363
|
+
# Get all files changed in this phase's commits
|
|
364
|
+
PHASE_COMMITS=$(git log --oneline --grep="(${PHASE_NUMBER}-" --format="%H")
|
|
365
|
+
CHANGED_FILES=$(git diff --name-only $(echo "$PHASE_COMMITS" | tail -1)^..HEAD | grep -E '\.(dart|ts|tsx|js|jsx|swift|kt|py|go|rs)$')
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
2. **Spawn simplifier (agent name from config):**
|
|
369
|
+
```
|
|
370
|
+
Task(
|
|
371
|
+
prompt="
|
|
372
|
+
<objective>
|
|
373
|
+
Simplify code modified in phase {phase_number}.
|
|
374
|
+
Preserve all functionality. Improve clarity and consistency.
|
|
375
|
+
</objective>
|
|
376
|
+
|
|
377
|
+
<scope>
|
|
378
|
+
Files to analyze:
|
|
379
|
+
{CHANGED_FILES}
|
|
380
|
+
</scope>
|
|
381
|
+
|
|
382
|
+
<output>
|
|
383
|
+
After simplifications, run static analysis and tests.
|
|
384
|
+
Report what was simplified and verification results.
|
|
385
|
+
</output>
|
|
386
|
+
",
|
|
387
|
+
subagent_type="{SIMPLIFIER}"
|
|
388
|
+
)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
3. **Handle result:**
|
|
392
|
+
- If changes made: Stage and commit
|
|
393
|
+
- If no changes: Report "No simplifications needed"
|
|
394
|
+
|
|
395
|
+
4. **Commit simplifications (if any):**
|
|
396
|
+
```bash
|
|
397
|
+
git add [simplified files]
|
|
398
|
+
git commit -m "$(cat <<'EOF'
|
|
399
|
+
refactor({phase}): simplify phase code
|
|
400
|
+
|
|
401
|
+
Simplifier: {agent_type}
|
|
402
|
+
Files simplified: {count}
|
|
403
|
+
EOF
|
|
404
|
+
)"
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
Report: "Code simplified. Proceeding to verification."
|
|
408
|
+
</step>
|
|
409
|
+
|
|
344
410
|
<step name="verify_phase_goal">
|
|
345
411
|
Verify phase achieved its GOAL, not just completed its TASKS.
|
|
346
412
|
|
|
@@ -96,6 +96,14 @@ Write these documents to .planning/codebase/:
|
|
|
96
96
|
- STACK.md - Languages, runtime, frameworks, dependencies, configuration
|
|
97
97
|
- INTEGRATIONS.md - External APIs, databases, auth providers, webhooks
|
|
98
98
|
|
|
99
|
+
After writing STACK.md, update config.json simplifier field with the appropriate agent name:
|
|
100
|
+
1. Read STACK.md to detect primary framework
|
|
101
|
+
2. Map framework to simplifier agent name:
|
|
102
|
+
- Flutter/Dart → "ms-flutter-simplifier"
|
|
103
|
+
- All others (React, Next.js, Node, Swift, Kotlin, etc.) → "ms-code-simplifier"
|
|
104
|
+
3. If .planning/config.json exists: update the simplifier field
|
|
105
|
+
If not: note the recommended simplifier for later config creation
|
|
106
|
+
|
|
99
107
|
Explore thoroughly. Write documents directly using templates. Return confirmation only.
|
|
100
108
|
```
|
|
101
109
|
|
|
@@ -285,5 +293,5 @@ End workflow.
|
|
|
285
293
|
- TaskOutput used to collect confirmations only
|
|
286
294
|
- All 7 codebase documents exist
|
|
287
295
|
- Clear completion summary with line counts
|
|
288
|
-
- User offered clear next steps in
|
|
296
|
+
- User offered clear next steps in Mindsystem style
|
|
289
297
|
</success_criteria>
|
|
@@ -552,7 +552,7 @@ git stash push -m "mocks-batch-{N}"
|
|
|
552
552
|
```
|
|
553
553
|
Task(
|
|
554
554
|
prompt="""
|
|
555
|
-
You are a
|
|
555
|
+
You are a Mindsystem verify-fixer. Investigate this issue, find the root cause, implement a fix, and commit it.
|
|
556
556
|
|
|
557
557
|
## Issue
|
|
558
558
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# generate-adhoc-patch.sh
|
|
4
|
+
# Generates a patch file from an adhoc commit, excluding documentation and generated files.
|
|
5
|
+
#
|
|
6
|
+
# Usage: ./scripts/generate-adhoc-patch.sh <commit-hash> <output-path>
|
|
7
|
+
# Example: ./scripts/generate-adhoc-patch.sh abc123f .planning/adhoc/2026-01-26-fix-bug.patch
|
|
8
|
+
|
|
9
|
+
set -e
|
|
10
|
+
|
|
11
|
+
# --- Configuration ---
|
|
12
|
+
# Same exclusions as generate-phase-patch.sh
|
|
13
|
+
EXCLUSIONS=(
|
|
14
|
+
# Documentation
|
|
15
|
+
'.planning'
|
|
16
|
+
|
|
17
|
+
# Flutter/Dart generated
|
|
18
|
+
'*.g.dart'
|
|
19
|
+
'*.freezed.dart'
|
|
20
|
+
'*.gr.dart'
|
|
21
|
+
'generated'
|
|
22
|
+
'.dart_tool'
|
|
23
|
+
|
|
24
|
+
# Next.js/TypeScript generated
|
|
25
|
+
'node_modules'
|
|
26
|
+
'.next'
|
|
27
|
+
'dist'
|
|
28
|
+
'build'
|
|
29
|
+
'*.d.ts'
|
|
30
|
+
'.turbo'
|
|
31
|
+
|
|
32
|
+
# Common build artifacts
|
|
33
|
+
'*.lock'
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
# --- Parse arguments ---
|
|
37
|
+
COMMIT_HASH="$1"
|
|
38
|
+
OUTPUT_PATH="$2"
|
|
39
|
+
|
|
40
|
+
# --- Validation ---
|
|
41
|
+
if [ -z "$COMMIT_HASH" ] || [ -z "$OUTPUT_PATH" ]; then
|
|
42
|
+
echo "Error: Commit hash and output path required"
|
|
43
|
+
echo "Usage: $0 <commit-hash> <output-path>"
|
|
44
|
+
exit 1
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# --- Find git root ---
|
|
48
|
+
GIT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null)
|
|
49
|
+
if [ -z "$GIT_ROOT" ]; then
|
|
50
|
+
echo "Error: Not in a git repository"
|
|
51
|
+
exit 1
|
|
52
|
+
fi
|
|
53
|
+
cd "$GIT_ROOT"
|
|
54
|
+
|
|
55
|
+
# --- Verify commit exists ---
|
|
56
|
+
if ! git rev-parse "$COMMIT_HASH" >/dev/null 2>&1; then
|
|
57
|
+
echo "Error: Commit $COMMIT_HASH not found"
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
# --- Build exclusion arguments ---
|
|
62
|
+
EXCLUDE_ARGS=""
|
|
63
|
+
for pattern in "${EXCLUSIONS[@]}"; do
|
|
64
|
+
EXCLUDE_ARGS="$EXCLUDE_ARGS ':!$pattern'"
|
|
65
|
+
done
|
|
66
|
+
|
|
67
|
+
# --- Generate diff from parent commit to specified commit ---
|
|
68
|
+
eval "git diff \"${COMMIT_HASH}^\" \"$COMMIT_HASH\" -- . $EXCLUDE_ARGS" > "$OUTPUT_PATH"
|
|
69
|
+
|
|
70
|
+
# --- Check result ---
|
|
71
|
+
if [ ! -s "$OUTPUT_PATH" ]; then
|
|
72
|
+
rm -f "$OUTPUT_PATH"
|
|
73
|
+
echo "No implementation changes outside excluded patterns"
|
|
74
|
+
echo "Patch skipped"
|
|
75
|
+
exit 0
|
|
76
|
+
fi
|
|
77
|
+
|
|
78
|
+
PATCH_LINES=$(wc -l < "$OUTPUT_PATH" | tr -d ' ')
|
|
79
|
+
echo "Generated: $OUTPUT_PATH ($PATCH_LINES lines)"
|
|
@@ -67,23 +67,6 @@ wheels = [
|
|
|
67
67
|
{ url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
|
|
68
68
|
]
|
|
69
69
|
|
|
70
|
-
[[package]]
|
|
71
|
-
name = "gsd-lookup"
|
|
72
|
-
version = "1.0.0"
|
|
73
|
-
source = { editable = "." }
|
|
74
|
-
dependencies = [
|
|
75
|
-
{ name = "diskcache" },
|
|
76
|
-
{ name = "httpx" },
|
|
77
|
-
{ name = "typer" },
|
|
78
|
-
]
|
|
79
|
-
|
|
80
|
-
[package.metadata]
|
|
81
|
-
requires-dist = [
|
|
82
|
-
{ name = "diskcache", specifier = ">=5.6.0" },
|
|
83
|
-
{ name = "httpx", specifier = ">=0.25.0" },
|
|
84
|
-
{ name = "typer", specifier = ">=0.9.0" },
|
|
85
|
-
]
|
|
86
|
-
|
|
87
70
|
[[package]]
|
|
88
71
|
name = "h11"
|
|
89
72
|
version = "0.16.0"
|
|
@@ -151,6 +134,23 @@ wheels = [
|
|
|
151
134
|
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
|
|
152
135
|
]
|
|
153
136
|
|
|
137
|
+
[[package]]
|
|
138
|
+
name = "ms-lookup"
|
|
139
|
+
version = "1.0.0"
|
|
140
|
+
source = { editable = "." }
|
|
141
|
+
dependencies = [
|
|
142
|
+
{ name = "diskcache" },
|
|
143
|
+
{ name = "httpx" },
|
|
144
|
+
{ name = "typer" },
|
|
145
|
+
]
|
|
146
|
+
|
|
147
|
+
[package.metadata]
|
|
148
|
+
requires-dist = [
|
|
149
|
+
{ name = "diskcache", specifier = ">=5.6.0" },
|
|
150
|
+
{ name = "httpx", specifier = ">=0.25.0" },
|
|
151
|
+
{ name = "typer", specifier = ">=0.9.0" },
|
|
152
|
+
]
|
|
153
|
+
|
|
154
154
|
[[package]]
|
|
155
155
|
name = "pygments"
|
|
156
156
|
version = "2.19.2"
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ms:discuss-milestone
|
|
3
|
-
description: Gather context for next milestone through adaptive questioning
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
<objective>
|
|
7
|
-
Help you figure out what to build in the next milestone through collaborative thinking.
|
|
8
|
-
|
|
9
|
-
Purpose: After completing a milestone, explore what features you want to add, improve, or fix. Features first — scope and phases derive from what you want to build.
|
|
10
|
-
Output: Context gathered, then routes to /ms:new-milestone
|
|
11
|
-
</objective>
|
|
12
|
-
|
|
13
|
-
<execution_context>
|
|
14
|
-
@~/.claude/mindsystem/references/principles.md
|
|
15
|
-
@~/.claude/mindsystem/workflows/discuss-milestone.md
|
|
16
|
-
</execution_context>
|
|
17
|
-
|
|
18
|
-
<context>
|
|
19
|
-
**Load project state first:**
|
|
20
|
-
@.planning/STATE.md
|
|
21
|
-
|
|
22
|
-
**Load project:**
|
|
23
|
-
@.planning/PROJECT.md
|
|
24
|
-
|
|
25
|
-
**Load milestones (if exists):**
|
|
26
|
-
@.planning/MILESTONES.md
|
|
27
|
-
</context>
|
|
28
|
-
|
|
29
|
-
<process>
|
|
30
|
-
1. Verify previous milestone complete (or acknowledge active milestone)
|
|
31
|
-
2. Present context from previous milestone (accomplishments, phase count)
|
|
32
|
-
3. Follow discuss-milestone.md workflow with **ALL questions using AskUserQuestion**:
|
|
33
|
-
- Use AskUserQuestion: "What do you want to add, improve, or fix?" with feature categories
|
|
34
|
-
- Use AskUserQuestion to dig into features they mention
|
|
35
|
-
- Use AskUserQuestion to help them articulate what matters most
|
|
36
|
-
- Use AskUserQuestion for decision gate (ready / ask more / let me add context)
|
|
37
|
-
4. Hand off to /ms:new-milestone with gathered context
|
|
38
|
-
|
|
39
|
-
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
40
|
-
</process>
|
|
41
|
-
|
|
42
|
-
<success_criteria>
|
|
43
|
-
|
|
44
|
-
- Project state loaded and presented
|
|
45
|
-
- Previous milestone context summarized
|
|
46
|
-
- Milestone scope gathered through adaptive questioning
|
|
47
|
-
- Context handed off to /ms:new-milestone
|
|
48
|
-
</success_criteria>
|