@ktpartners/dgs-platform 2.7.2 → 2.7.4

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.
@@ -92,6 +92,32 @@ If a requirement fits multiple phases → assign to ONE (usually the first that
92
92
 
93
93
  </philosophy>
94
94
 
95
+ <milestone_handling>
96
+
97
+ ## Milestone Version
98
+
99
+ The orchestrator passes a `<milestone>` block in the planning context with `version` and `name`.
100
+
101
+ **Reading:** Extract `version` (e.g., "v17.0") and `name` (e.g., "Git Push and Pull Integration") from the `<milestone>` tag in the prompt.
102
+
103
+ **If no `<milestone>` block provided:** Default to `v1.0` / `milestone` (greenfield).
104
+
105
+ **Usage:**
106
+
107
+ When writing **STATE.md frontmatter**, use the provided version:
108
+ ```yaml
109
+ ---
110
+ dgs_state_version: 1.0
111
+ milestone: {version} # e.g., v17.0, NOT hardcoded v1.0
112
+ milestone_name: {name}
113
+ status: planning
114
+ ---
115
+ ```
116
+
117
+ When writing **ROADMAP.md**, use the version in milestone headings and references instead of assuming v1.0.
118
+
119
+ </milestone_handling>
120
+
95
121
  <goal_backward_phases>
96
122
 
97
123
  ## Deriving Phase Success Criteria
@@ -402,6 +428,7 @@ Orchestrator provides:
402
428
  - REQUIREMENTS.md content (v1 requirements with REQ-IDs)
403
429
  - research/SUMMARY.md content (if exists - phase suggestions)
404
430
  - config.json (granularity setting)
431
+ - Milestone version and name (from `<milestone>` block -- use when writing STATE.md/ROADMAP.md)
405
432
 
406
433
  Parse and confirm understanding before proceeding.
407
434
 
@@ -462,8 +489,10 @@ If gaps found, include in draft for user decision.
462
489
  Write files first, then return. This ensures artifacts persist even if context is lost.
463
490
 
464
491
  1. **Write ROADMAP.md** using output format
492
+ Use milestone version from `<milestone>` block for headings (e.g., "v17.0 [Name]" not "v1.0 MVP").
465
493
 
466
494
  2. **Write STATE.md** using output format
495
+ Use milestone version from `<milestone>` block in frontmatter (`milestone: {version}`, `milestone_name: {name}`).
467
496
 
468
497
  3. **Update REQUIREMENTS.md traceability section**
469
498
 
@@ -124,7 +124,7 @@ Use today's date for the `Added` field.
124
124
 
125
125
  If `commit_docs` is true:
126
126
  ```bash
127
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: capture design principle - {title}" --files .planning/docs/product/DESIGN-PRINCIPLES.md
127
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: capture design principle - {title}" --push --files .planning/docs/product/DESIGN-PRINCIPLES.md
128
128
  ```
129
129
 
130
130
  If `commit_docs` is false, just save the file without committing.
@@ -397,6 +397,7 @@ function cmdInitNewProject(cwd, raw) {
397
397
  const config = loadConfig(cwd);
398
398
  const ctx = resolveProjectContext(cwd);
399
399
  const planRootRel = path.relative(cwd, getPlanningRoot(cwd)) || '.';
400
+ const milestone = getMilestoneInfo(cwd);
400
401
 
401
402
  // Detect Brave Search API key availability
402
403
  const homedir = require('os').homedir();
@@ -461,6 +462,10 @@ function cmdInitNewProject(cwd, raw) {
461
462
  requirements_path: ctx.root ? path.join(ctx.root, 'REQUIREMENTS.md') : path.join(planRootRel, 'REQUIREMENTS.md'),
462
463
  research_dir: ctx.root ? path.join(ctx.root, 'research') : path.join(planRootRel, 'research'),
463
464
 
465
+ // Milestone info (product-level, shared across projects)
466
+ milestone_version: milestone.version,
467
+ milestone_name: milestone.name,
468
+
464
469
  // v2 context
465
470
  dgs_mode: ctx.dgs_mode,
466
471
  current_project: ctx.current_project,
@@ -227,6 +227,14 @@ describe('v1 mode: init new-project', () => {
227
227
  it('returns dgs_mode v1', () => {
228
228
  assert.equal(result.dgs_mode, 'v1');
229
229
  });
230
+
231
+ it('returns milestone_version defaulting to v1.0 when no milestones exist', () => {
232
+ assert.equal(result.milestone_version, 'v1.0');
233
+ });
234
+
235
+ it('returns milestone_name defaulting to milestone', () => {
236
+ assert.equal(result.milestone_name, 'milestone');
237
+ });
230
238
  });
231
239
 
232
240
  // ─── v1 Mode: other init commands ────────────────────────────────────────────
@@ -462,6 +470,10 @@ describe('v2 mode with project: init new-project', () => {
462
470
  it('returns dgs_mode v2', () => {
463
471
  assert.equal(result.dgs_mode, 'v2');
464
472
  });
473
+
474
+ it('returns milestone_version defaulting to v1.0 when no milestones exist', () => {
475
+ assert.equal(result.milestone_version, 'v1.0');
476
+ });
465
477
  });
466
478
 
467
479
  describe('v2 mode with project: init progress', () => {
@@ -72,7 +72,7 @@ Parse the JSON result to get `id`, `filename`, `path`.
72
72
 
73
73
  <step name="git_commit">
74
74
  ```bash
75
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: add #${id} - ${title}" --files ${project_root}/ideas/pending/${filename} ${project_root}/ideas/manifest.json
75
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: add #${id} - ${title}" --push --files ${project_root}/ideas/pending/${filename} ${project_root}/ideas/manifest.json
76
76
  ```
77
77
  </step>
78
78
 
@@ -123,7 +123,7 @@ If STATE.md exists (use `state_path` from init):
123
123
  Commit the todo and any updated state:
124
124
 
125
125
  ```bash
126
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs: capture todo - [title]" --files ${pending_dir}/[filename] ${state_path}
126
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs: capture todo - [title]" --push --files ${pending_dir}/[filename] ${state_path}
127
127
  ```
128
128
 
129
129
  Tool respects `commit_docs` config and gitignore automatically.
@@ -162,7 +162,7 @@ Perform the approval state transition and audit trail update.
162
162
 
163
163
  4. Commit the changes:
164
164
  ```bash
165
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: approve $SPEC_ID v$VERSION" --files "$SPEC_FILE_PATH"
165
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: approve $SPEC_ID v$VERSION" --push --files "$SPEC_FILE_PATH"
166
166
  ```
167
167
  </step>
168
168
 
@@ -278,7 +278,7 @@ When `RERUN_FAILED_MODE` is true, the structural verifier also reruns, but only
278
278
  **Commit the UAT file:**
279
279
 
280
280
  ```bash
281
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "[AUDIT] audit(${PHASE_ARG}): ${test_failures} test failures, ${structural_gaps} structural gaps" --files "${uat_path}" "${log_path}"
281
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "[AUDIT] audit(${PHASE_ARG}): ${test_failures} test failures, ${structural_gaps} structural gaps" --push --files "${uat_path}" "${log_path}"
282
282
  ```
283
283
  </step>
284
284
 
@@ -1211,7 +1211,7 @@ git push origin v[X.Y]
1211
1211
  Commit milestone completion.
1212
1212
 
1213
1213
  ```bash
1214
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "chore: complete v[X.Y] milestone" --files ${project_root}/milestones/v[X.Y]-ROADMAP.md ${project_root}/milestones/v[X.Y]-REQUIREMENTS.md ${project_root}/v[X.Y]-MILESTONE-AUDIT.md ${project_root}/MILESTONES.md ${project_path} ${state_path}
1214
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "chore: complete v[X.Y] milestone" --push --files ${project_root}/milestones/v[X.Y]-ROADMAP.md ${project_root}/milestones/v[X.Y]-REQUIREMENTS.md ${project_root}/v[X.Y]-MILESTONE-AUDIT.md ${project_root}/MILESTONES.md ${project_path} ${state_path}
1215
1215
  ```
1216
1216
  ```
1217
1217
 
@@ -264,7 +264,7 @@ Original: will be saved to ${project_root}/{attachment_path}
264
264
 
265
265
  **Execute the commit:**
266
266
  ```bash
267
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: import {id} - {title} (from {original-filename})" --files ${project_root}/specs/spec-{slug}.md ${project_root}/{attachment_path} ${project_root}/specs/spec-{slug}/docs/INDEX.md ${project_root}/specs/spec-{slug}/docs/.names.json
267
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: import {id} - {title} (from {original-filename})" --push --files ${project_root}/specs/spec-{slug}.md ${project_root}/{attachment_path} ${project_root}/specs/spec-{slug}/docs/INDEX.md ${project_root}/specs/spec-{slug}/docs/.names.json
268
268
  ```
269
269
  The `dgs-tools.cjs commit` helper with `--files` stages only the specified files and commits them. This ensures other unstaged/uncommitted changes in the working tree are not included. The `.names.json` file is included because `docs add` creates it as internal metadata for INDEX rebuilds.
270
270
 
@@ -129,7 +129,7 @@ Last activity: [today] — Milestone v[X.Y] started (from spec [spec-id])
129
129
  ### Commit
130
130
 
131
131
  ```bash
132
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: start milestone v[X.Y] [Name] (from spec)" --files ${project_path} ${state_path}
132
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: start milestone v[X.Y] [Name] (from spec)" --push --files ${project_path} ${state_path}
133
133
  ```
134
134
 
135
135
  ### Link Spec to Milestone
@@ -143,7 +143,7 @@ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs specs link-milestone --id
143
143
  Include the updated spec file in a commit:
144
144
 
145
145
  ```bash
146
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: link $SPEC_ID to v$VERSION" --files ${project_root}/specs/$SPEC_FILENAME
146
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: link $SPEC_ID to v$VERSION" --push --files ${project_root}/specs/$SPEC_FILENAME
147
147
  ```
148
148
 
149
149
  ### Continue to Step 7
@@ -216,7 +216,7 @@ Keep Accumulated Context section from previous milestone.
216
216
  Delete MILESTONE-CONTEXT.md if exists (consumed).
217
217
 
218
218
  ```bash
219
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: start milestone v[X.Y] [Name]" --files ${project_path} ${state_path}
219
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: start milestone v[X.Y] [Name]" --push --files ${project_path} ${state_path}
220
220
  ```
221
221
 
222
222
  ## 7. Load Context and Resolve Models
@@ -406,7 +406,7 @@ If "adjust": Return to scoping.
406
406
 
407
407
  **Commit requirements:**
408
408
  ```bash
409
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: define milestone v[X.Y] requirements" --files ${project_root}/REQUIREMENTS.md
409
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: define milestone v[X.Y] requirements" --push --files ${project_root}/REQUIREMENTS.md
410
410
  ```
411
411
 
412
412
  ## 10. Create Roadmap
@@ -485,7 +485,7 @@ Success criteria:
485
485
 
486
486
  **Commit roadmap** (after approval):
487
487
  ```bash
488
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files ${roadmap_path} ${state_path} ${project_root}/REQUIREMENTS.md
488
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --push --files ${roadmap_path} ${state_path} ${project_root}/REQUIREMENTS.md
489
489
  ```
490
490
 
491
491
  ## 10.5. Overlap Check (v2 only)
@@ -64,7 +64,7 @@ If the `--auto` argument references a spec file path or spec ID:
64
64
  INIT=$(node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs init new-project)
65
65
  ```
66
66
 
67
- Parse JSON for: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `project_exists`, `has_codebase_map`, `planning_exists`, `has_existing_code`, `has_package_file`, `is_brownfield`, `needs_codebase_map`, `has_git`, `project_path`, `state_path`, `roadmap_path`, `requirements_path`, `research_dir`.
67
+ Parse JSON for: `researcher_model`, `synthesizer_model`, `roadmapper_model`, `commit_docs`, `project_exists`, `has_codebase_map`, `planning_exists`, `has_existing_code`, `has_package_file`, `is_brownfield`, `needs_codebase_map`, `has_git`, `project_path`, `state_path`, `roadmap_path`, `requirements_path`, `research_dir`, `milestone_version`, `milestone_name`.
68
68
 
69
69
  Load planning-tier context files:
70
70
 
@@ -420,7 +420,7 @@ Do not compress. Capture everything gathered.
420
420
 
421
421
  ```bash
422
422
  mkdir -p .planning
423
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: initialize project" --files ${project_path}
423
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: initialize project" --push --files ${project_path}
424
424
  ```
425
425
 
426
426
  ## 5. Resolve Model Profile
@@ -829,7 +829,7 @@ If "adjust": Return to scoping.
829
829
  **Commit requirements:**
830
830
 
831
831
  ```bash
832
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: define v1 requirements" --files ${requirements_path}
832
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: define v1 requirements" --push --files ${requirements_path}
833
833
  ```
834
834
 
835
835
  ## 8. Create Roadmap
@@ -857,6 +857,11 @@ Task(prompt="
857
857
  ${product_doc_files}
858
858
  </files_to_read>
859
859
 
860
+ <milestone>
861
+ version: ${milestone_version}
862
+ name: ${milestone_name}
863
+ </milestone>
864
+
860
865
  </planning_context>
861
866
 
862
867
  <instructions>
@@ -864,6 +869,7 @@ Create roadmap:
864
869
  1. Derive phases from requirements (don't impose structure)
865
870
  2. Map every v1 requirement to exactly one phase
866
871
  3. Derive 2-5 success criteria per phase (observable user behaviors)
872
+ Use the milestone version from <milestone> when writing STATE.md frontmatter and ROADMAP.md headings.
867
873
  4. Validate 100% coverage
868
874
  5. Write files immediately (ROADMAP.md, STATE.md, update REQUIREMENTS.md traceability)
869
875
  6. Return ROADMAP CREATED with summary
@@ -960,7 +966,7 @@ Use AskUserQuestion:
960
966
  **Commit roadmap (after approval or auto mode):**
961
967
 
962
968
  ```bash
963
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: create roadmap ([N] phases)" --files ${roadmap_path} ${state_path} ${requirements_path}
969
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "docs: create roadmap ([N] phases)" --push --files ${roadmap_path} ${state_path} ${requirements_path}
964
970
  ```
965
971
 
966
972
  ### Link Spec to Milestone (spec-driven mode only)
@@ -974,7 +980,7 @@ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs specs link-milestone --id
974
980
  Include the updated spec file in a commit:
975
981
 
976
982
  ```bash
977
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: link $SPEC_ID to v1.0" --files $SPEC_PATH
983
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: link $SPEC_ID to v1.0" --push --files $SPEC_PATH
978
984
  ```
979
985
 
980
986
  ## 8.5. Overlap Check (v2 only)
@@ -163,7 +163,7 @@ Use full relative paths. Group by topic area.]
163
163
 
164
164
  5. Commit:
165
165
  ```bash
166
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs(${padded_phase}): generate context from PRD" --files "${phase_dir}/${padded_phase}-CONTEXT.md"
166
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs(${padded_phase}): generate context from PRD" --push --files "${phase_dir}/${padded_phase}-CONTEXT.md"
167
167
  ```
168
168
 
169
169
  6. Set `context_content` to the generated CONTEXT.md content and continue to step 5 (Handle Research).
@@ -776,7 +776,7 @@ Build file list:
776
776
  - If `$FULL_MODE` and verification file exists: `${QUICK_DIR}/${quick_id}-VERIFICATION.md`
777
777
 
778
778
  ```bash
779
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs(quick-${quick_id}): ${DESCRIPTION}" --files ${file_list}
779
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "docs(quick-${quick_id}): ${DESCRIPTION}" --push --files ${file_list}
780
780
  ```
781
781
 
782
782
  Get final commit hash:
@@ -239,7 +239,7 @@ All writes happen here, atomically at the end of the session. No file changes oc
239
239
 
240
240
  10. **Commit the changes:**
241
241
  ```bash
242
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "refine(spec): $SPEC_SLUG v$NEW_VERSION -- $SUMMARY" --files "$SPEC_FILE_PATH"
242
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "refine(spec): $SPEC_SLUG v$NEW_VERSION -- $SUMMARY" --push --files "$SPEC_FILE_PATH"
243
243
  ```
244
244
  </step>
245
245
 
@@ -124,12 +124,12 @@ LIST=$(node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs ideas list --raw)
124
124
  Parse to find the idea's state and filename, then commit:
125
125
 
126
126
  ```bash
127
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: update #${id} - ${field}" --files ${path}
127
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: update #${id} - ${field}" --push --files ${path}
128
128
  ```
129
129
 
130
130
  For note appends, use:
131
131
  ```bash
132
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: add note to #${id}" --files ${path}
132
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "ideas: add note to #${id}" --push --files ${path}
133
133
  ```
134
134
  </step>
135
135
 
@@ -121,7 +121,7 @@ Exit.
121
121
  <step name="show_changes_and_confirm">
122
122
  **If update available**, fetch and show what's new BEFORE updating:
123
123
 
124
- 1. Fetch changelog from GitHub raw URL
124
+ 1. Read changelog from installed package (CHANGELOG.md in the DGS install directory)
125
125
  2. Extract entries between installed and latest versions
126
126
  3. Display preview and ask for confirmation:
127
127
 
@@ -209,7 +209,7 @@ Format completion message (changelog was already shown in confirmation step):
209
209
 
210
210
  ⚠️ Restart Claude Code to pick up the new commands.
211
211
 
212
- [View full changelog](https://github.com/glittercowboy/deliver-great-systems/blob/main/CHANGELOG.md)
212
+ [View full changelog](https://github.com/KT-Partners-Ltd/deliver-great-systems/blob/main/CHANGELOG.md)
213
213
  ```
214
214
  </step>
215
215
 
@@ -373,14 +373,14 @@ Clear Current Test section:
373
373
  [testing complete]
374
374
  ```
375
375
 
376
- Commit the UAT file:
376
+ Commit the UAT file and VERIFICATION.md:
377
377
  ```bash
378
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "test({phase_num}): complete UAT - {passed} passed, {issues} issues" --files "${phase_dir}/{phase_num}-UAT.md"
378
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "test({phase_num}): complete UAT - {passed} passed, {issues} issues" --push --files "${phase_dir}/{phase_num}-UAT.md" "${phase_dir}/{phase_num}-VERIFICATION.md"
379
379
  ```
380
380
 
381
381
  If `AUTO_MODE` is true, prefix the commit message with `[AUTO] `:
382
382
  ```bash
383
- node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "[AUTO] test({phase_num}): complete UAT - {passed} passed, {issues} issues" --files "${phase_dir}/{phase_num}-UAT.md"
383
+ node "$HOME/.claude/deliver-great-systems/bin/dgs-tools.cjs" commit "[AUTO] test({phase_num}): complete UAT - {passed} passed, {issues} issues" --push --files "${phase_dir}/{phase_num}-UAT.md" "${phase_dir}/{phase_num}-VERIFICATION.md"
384
384
  ```
385
385
 
386
386
  Present summary:
@@ -222,7 +222,7 @@ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs specs add-log-entry --id
222
222
 
223
223
  Commit the draft:
224
224
  ```bash
225
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: draft $id from ideas $idea_ids" --files ${project_root}/specs/$filename
225
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: draft $id from ideas $idea_ids" --push --files ${project_root}/specs/$filename
226
226
  ```
227
227
 
228
228
  Store `SPEC_ID` and `FILENAME` for subsequent steps.
@@ -289,7 +289,7 @@ Use AskUserQuestion: "Review the draft spec above. Type **approve** to send to r
289
289
 
290
290
  After approval, commit any changes:
291
291
  ```bash
292
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: revise draft $SPEC_ID" --files ${project_root}/specs/$FILENAME
292
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: revise draft $SPEC_ID" --push --files ${project_root}/specs/$FILENAME
293
293
  ```
294
294
  </step>
295
295
 
@@ -350,7 +350,7 @@ Estimated cost: ~$X.XX
350
350
  **6. Commit updated spec:**
351
351
 
352
352
  ```bash
353
- node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: review $SPEC_ID (N rounds)" --files ${project_root}/specs/$FILENAME
353
+ node ~/.claude/deliver-great-systems/bin/dgs-tools.cjs commit "specs: review $SPEC_ID (N rounds)" --push --files ${project_root}/specs/$FILENAME
354
354
  ```
355
355
  </step>
356
356
 
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "bugs": {
5
5
  "url": "https://github.com/KT-Partners-Ltd/dgs-platform-docs/issues"
6
6
  },
7
- "version": "2.7.2",
7
+ "version": "2.7.4",
8
8
  "description": "Deliver Great Systems Platform — A meta-prompting, context engineering and spec-driven development system for Claude Code and Gemini by KT Partners.",
9
9
  "bin": {
10
10
  "dgs": "bin/install.js"
@@ -18,7 +18,8 @@
18
18
  "agents",
19
19
  "hooks/dist",
20
20
  "scripts",
21
- "LICENSE"
21
+ "LICENSE",
22
+ "CHANGELOG.md"
22
23
  ],
23
24
  "keywords": [
24
25
  "claude",