pi-gsd 1.4.0 → 1.4.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.
@@ -503,7 +503,6 @@ export default function (pi: ExtensionAPI) {
503
503
  " /gsd-progress Progress + next steps",
504
504
  " /gsd-stats Full statistics",
505
505
  " /gsd-health [--repair] .planning/ integrity",
506
- " /gsd-milestone Milestone status dashboard",
507
506
  " /gsd-help This list",
508
507
  "",
509
508
  "Management:",
@@ -518,71 +517,6 @@ export default function (pi: ExtensionAPI) {
518
517
  },
519
518
  });
520
519
 
521
- pi.registerCommand("gsd-milestone", {
522
- description:
523
- "Milestone status dashboard — plan vs execute routing (instant)",
524
- handler: async (_args, ctx) => {
525
- const progress = runJson<GsdProgress>("progress json", ctx.cwd);
526
- if (!progress) {
527
- ctx.ui.notify(
528
- "❌ No GSD project found. Run /gsd-new-project to initialise.",
529
- "error",
530
- );
531
- ctx.ui.setEditorText("/gsd-new-project");
532
- return;
533
- }
534
-
535
- const phases = progress.phases;
536
- const total = phases.length;
537
- const done = phases.filter((p) => p.status === "Complete").length;
538
- const unplanned = phases.filter(
539
- (p) => p.status !== "Complete" && p.plans === 0,
540
- ).length;
541
- const planned = phases.filter(
542
- (p) => p.status !== "Complete" && p.plans > 0,
543
- ).length;
544
- const phasePct = total > 0 ? Math.round((done / total) * 100) : 0;
545
-
546
- // Determine recommended next milestone-level action
547
- let recommendation: string;
548
- let action: string;
549
- if (total === 0) {
550
- recommendation = "No phases defined yet";
551
- action = "/gsd-new-project";
552
- } else if (done === total) {
553
- recommendation = "All phases complete — ready to audit";
554
- action = "/gsd-audit-milestone";
555
- } else if (unplanned > 0 && planned === 0) {
556
- recommendation = `${unplanned} unplanned phase${unplanned > 1 ? "s" : ""} — plan the milestone first`;
557
- action = "/gsd-plan-milestone";
558
- } else if (unplanned > 0) {
559
- recommendation = `${planned} planned, ${unplanned} still unplanned — finish planning first`;
560
- action = "/gsd-plan-milestone";
561
- } else {
562
- recommendation = `${planned} phase${planned > 1 ? "s" : ""} ready to execute`;
563
- action = "/gsd-execute-milestone";
564
- }
565
-
566
- const lines = [
567
- `━━ GSD Milestone ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
568
- `🎯 ${progress.milestone_name} (${progress.milestone_version})`,
569
- ``,
570
- `Phases ${bar(phasePct)} ${done}/${total} (${phasePct}%)`,
571
- ``,
572
- `🟢 Complete: ${done}`,
573
- `🟡 Planned: ${planned}`,
574
- `🔴 Unplanned: ${unplanned}`,
575
- ``,
576
- `⚡ ${recommendation}`,
577
- `→ ${action}`,
578
- ``,
579
- `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
580
- ];
581
-
582
- ctx.ui.notify(lines.join("\n"), "info");
583
- ctx.ui.setEditorText(action);
584
- },
585
- });
586
520
 
587
521
  // ── tool_result: context usage monitor ───────────────────────────────────
588
522
  const WARNING_THRESHOLD = 35; // warn when remaining % ≤ 35
package/README.md CHANGED
@@ -139,9 +139,8 @@ Switch profile: `/gsd-set-profile <profile>`
139
139
  | Instant commands (no LLM cost) | ❌ | ✔️ | `/gsd-progress`, `/gsd-stats`, `/gsd-health`, `/gsd-help`, `/gsd-next` — zero LLM, editor pivot |
140
140
  | `/gsd-next` auto-advance | ❌ | ✔️ | Deterministic phase routing, pre-fills editor with the correct next command |
141
141
  | Prompt-dispatch for all skills | ❌ | ✔️ | 54 pi prompt templates — clean autocomplete, arg hints, direct workflow dispatch |
142
- | `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all phases at once — one mode question, scope pre-check, context-safe checkpointing |
143
- | `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases with scope guardian, UAT gates, recovery loop, worktree isolation |
144
- | `/gsd-milestone` instant command | ❌ | ✔️ | Milestone dashboard — plan vs execute routing, pre-fills editor with correct next command |
142
+ | `/gsd-plan-milestone` command | ❌ | ✔️ | Plan all unplanned phases — one mode question, scope pre-check per phase, context-safe checkpoint |
143
+ | `/gsd-execute-milestone` command | ❌ | ✔️ | Execute all phases scope guardian (pre+post), UAT gates, recovery loop, worktree isolation + merge |
145
144
 
146
145
  Legend: ✔️ done · ⚡ enhanced · ⚠️ in progress · 📃 planned · ❌ not available
147
146
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-gsd",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Get Shit Done - Unofficial port of the renowned AI-native project-planning spec-driven toolkit",
5
5
  "main": "dist/pi-gsd-tools.js",
6
6
  "bin": {