ace-git-commit 0.23.4 → 0.25.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 74965c71b86fb980d0aefa9d89550aca606dccb48bedaf60fd1506bd8c09e805
4
- data.tar.gz: 5af63c8a8b9cfd2569d9dae975d751a01ef1f141372af7d4589910af4c04bfb0
3
+ metadata.gz: fe255d22880f11d134ff36c7f85ea857d9ee4b4ab17fe6ae418b10bca5c9d379
4
+ data.tar.gz: d3a95b0901bde739ed17122d7d6d4073c513ec12f642d10bf57d939e583df1f8
5
5
  SHA512:
6
- metadata.gz: 3209b1dbd4de66d283c4014f29b6b79fdf17a785dc3cbb8db3dc69b60926e524b7262e529b6da86d54e8a156d24a78f3cdf98ee5ae5dc3e6688178ca07ce8647
7
- data.tar.gz: 4b599c9a61fbe77ab27cb1722f61ca85e4452e62e1a4e463161a4b9cb3dca055736f480f681d69e08ac7e069e40a329e6b4c6ff2a849023a15a654910272f8db
6
+ metadata.gz: 7e40e443492428deaa6e565ae015cc06f0c0b40395525ad96760d88f50ab831abc2a61e547aabc277f8912e68c021c33996a4c9bd13309441502b28ba7d92f0b
7
+ data.tar.gz: c192c1309e9b95cf887ec24f69bca59af088f943aa4fb31dcc1ac36165888a1b524648ba218bb7fa84f7cc2386e56ef46b918326018fe75d031f1838c4f873ca
@@ -3,7 +3,7 @@
3
3
 
4
4
  git:
5
5
  # LLM model for commit message generation
6
- model: glite # or gpt4, claude, etc. - must match provider alias
6
+ model: role:commit # or gpt4, claude, etc. - must match provider alias
7
7
 
8
8
  # Commit message conventions
9
9
  conventions:
@@ -19,4 +19,9 @@ git:
19
19
  - api
20
20
  - ui
21
21
  - docs
22
- - test
22
+ - test
23
+
24
+ split:
25
+ enabled: true
26
+ strategy: config-scope
27
+ description: Automatically create multiple commits when multiple config scopes are detected; use --no-split to force a single commit.
data/CHANGELOG.md CHANGED
@@ -7,6 +7,76 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.25.4] - 2026-04-16
11
+
12
+ ### Technical
13
+ - Split the retained dry-run and path-scoped commit E2E capture into explicit `dry-run/` and `path-only/` artifact sets so verification requires both halves of the public workflow.
14
+
15
+ ## [0.25.3] - 2026-04-16
16
+
17
+ ### Technical
18
+ - Relaxed `TS-COMMIT-001` auto-split verification to prove split behavior and path scoping without depending on an exact commit-count shape from the coordinated commit set.
19
+
20
+ ## [0.25.2] - 2026-04-16
21
+
22
+ ### Fixed
23
+ - Strengthened `TS-COMMIT-001` delete/rename verification around explicit final-state artifacts so the retained E2E flow no longer depends on Git rename heuristics from `git show --stat`.
24
+
25
+ ## [0.25.1] - 2026-04-16
26
+
27
+ ### Fixed
28
+ - Relaxed dry-run E2E verification to accept equivalent proof that dry-run preserved HEAD and did not silently commit staged changes before the subsequent path-scoped commit.
29
+
30
+ ## [0.25.0] - 2026-04-15
31
+
32
+ ### Changed
33
+ - Rewrote `TS-COMMIT-001` split/no-split E2E goals around explicit public
34
+ setup and impact-first verification, and added `TC-007-only-staged-contract`
35
+ coverage for the staged-only user journey.
36
+ - Expanded `docs/usage.md` and CLI help text with reproducible split/no-split
37
+ setup guidance and explicit `--only-staged` git-state expectations.
38
+
39
+ ## [0.24.2] - 2026-04-13
40
+
41
+ ### Technical
42
+ - Tightened the package version contract test to require a full semantic-version match instead of accepting partial matches.
43
+ ## [0.24.1] - 2026-04-13
44
+
45
+ ### Changed
46
+ - Completed the batch i05 migration follow-through for this package and aligned it with the restarted `fast` / `feat` / `e2e` verification model.
47
+
48
+ ### Technical
49
+ - Included in the coordinated assignment-driven patch release for batch i05 package updates.
50
+
51
+
52
+ ## [0.24.0] - 2026-04-12
53
+
54
+ ### Changed
55
+ - Migrated package tests to the restarted `fast` / `feat` / `e2e` model by moving deterministic suite files into `test/fast/` and keeping scenario workflows in `test/e2e/`.
56
+ - Added `unit-coverage-reviewed` metadata for `TS-COMMIT-001` and aligned scenario sandbox setup to support `${ACE_E2E_SOURCE_ROOT:-$PROJECT_ROOT_PATH}`.
57
+ - Updated package docs (`README`, `docs/usage.md`, `docs/getting-started.md`) to teach the restarted testing contract (`ace-test`, `ace-test ... feat`, `ace-test-e2e`, `ace-test ... all`).
58
+
59
+ ### Changed
60
+ - **ace-git-commit v0.23.8**: Release workflow now loads git context for commit guidance and JSON status data from bundled workflow sections.
61
+
62
+
63
+ ## [0.23.7] - 2026-04-10
64
+
65
+ ### Fixed
66
+ - Restored packaged default split configuration (`git.split.enabled: true`, `git.split.strategy: config-scope`) and documented `--no-split` as the explicit single-commit override.
67
+ - Added packaged-default regression coverage in `test/default_config_test.rb` to enforce the split-default contract.
68
+
69
+ ## [0.23.6] - 2026-03-31
70
+
71
+ ### Changed
72
+ - Role-based commit generation defaults.
73
+
74
+ ## [0.23.5] - 2026-03-29
75
+
76
+ ### Changed
77
+ - Role-based commit model defaults in docs and fixtures.
78
+
79
+
10
80
  ## [0.23.4] - 2026-03-29
11
81
 
12
82
  ### Technical
data/README.md CHANGED
@@ -36,6 +36,17 @@
36
36
 
37
37
  **Preview and control commit behavior safely** - use `--dry-run` to preview, `--only-staged` for strict staging, or `-m` for explicit messages, with configuration cascade from [ace-support-config](../ace-support-config) for project and user overrides.
38
38
 
39
+ For the retained public verification flows, see the reproducible examples in the [Usage Guide](docs/usage.md#reproducible-split-and-no-split-setup) and [`--only-staged` expected git state](docs/usage.md#--only-staged-expected-git-state).
40
+
41
+ ## Testing Contract
42
+
43
+ `ace-git-commit` follows the restarted package test model:
44
+
45
+ - `ace-test ace-git-commit` for deterministic fast-loop coverage (`test/fast/`)
46
+ - `ace-test ace-git-commit feat` when deterministic feature/contract coverage is present (`test/feat/`)
47
+ - `ace-test-e2e ace-git-commit` for retained workflow scenarios (`test/e2e/`)
48
+ - `ace-test ace-git-commit all` for full package verification
49
+
39
50
  ## Configuration
40
51
 
41
52
  Override the default LLM model in `.ace/git/commit.yml` (see [defaults](.ace-defaults/git/commit.yml) for all options), or replace any prompt template in `.ace-handbook/prompts/` to match your commit style.
@@ -140,7 +140,7 @@ When multiple files are changed:
140
140
  Describe the action, not the content:
141
141
  - The subject must describe what this commit DOES to the codebase
142
142
  - Do NOT summarize the content of changed files as if that content is the change itself
143
- - Example: deleting a task spec about "rename X to Y" → `spec(task-272): remove specflow-rename task` NOT `spec(taskflow-rename): rename ace-taskflow to ace-specflow`
143
+ - Example: deleting a task spec about "rename X to Y" → `spec(task-272): remove specflow-rename task` NOT `spec(taskflow-rename): rename ace-task to ace-specflow`
144
144
  - Example: deleting a deprecated module → `refactor(auth): remove legacy OAuth handler` NOT `refactor(auth): OAuth 1.0 authentication flow`
145
145
 
146
146
  When all changes are deletions:
@@ -5,6 +5,19 @@ purpose: commit workflow instruction
5
5
  ace-docs:
6
6
  last-updated: 2026-03-15
7
7
  last-checked: 2026-03-21
8
+ bundle:
9
+ embed_document_source: true
10
+ params:
11
+ output: cache
12
+ max_size: 81920
13
+ timeout: 30
14
+ sections:
15
+ current_repository_status:
16
+ title: Current Repository Status
17
+ commands:
18
+ - git status -sb
19
+ - git diff --stat
20
+ - ace-git status --format json
8
21
  ---
9
22
 
10
23
  # Commit Workflow
@@ -72,4 +85,4 @@ ace-git-commit automatically:
72
85
  **Changes Committed:** [Brief summary of what was committed]
73
86
  **Commit Message:** [The generated/used message]
74
87
  **Files Modified:** [Number of files and brief description]
75
- **Status:** ✓ Complete | ✗ Failed with [reason]
88
+ **Status:** ✓ Complete | ✗ Failed with [reason]
@@ -103,7 +103,7 @@ module Ace
103
103
  def extract_pattern(output)
104
104
  return nil if output.nil? || output.strip.empty?
105
105
 
106
- # Format: ".gitignore:3:.ace-taskflow/**/reviews/ .ace-taskflow/v.0.9.0/reviews/review-report-gpro.md"
106
+ # Format: ".gitignore:3:.ace-task/**/reviews/ .ace-task/v.0.9.0/reviews/review-report-gpro.md"
107
107
  # We want the third field (the pattern)
108
108
  parts = output.strip.split("\t")
109
109
  if parts.length >= 2
@@ -20,6 +20,9 @@ module Ace
20
20
 
21
21
  When no files are specified, all changes are staged.
22
22
  When files are provided, only those files are staged and committed.
23
+ When changes span configured scopes, commits may auto-split by scope.
24
+ Use --no-split to force one commit, or --only-staged to commit only
25
+ files already in the index.
23
26
 
24
27
  Configuration:
25
28
  Global config: ~/.ace/git/commit.yml
@@ -33,7 +36,7 @@ module Ace
33
36
  "-i 'fix bug' # With intention",
34
37
  "-m 'feat: add' # With explicit message",
35
38
  "--only-staged # Only staged changes",
36
- "--no-split # Force a single commit"
39
+ "--no-split pkg-a pkg-b # Force a single commit across scopes"
37
40
  ]
38
41
 
39
42
  # Define files as variadic argument (can be 0 or more)
@@ -43,7 +46,7 @@ module Ace
43
46
  option :intention, type: :string, aliases: %w[-i], desc: "Provide context for LLM message generation"
44
47
  option :message, type: :string, aliases: %w[-m], desc: "Use provided message directly (no LLM)"
45
48
  option :model, type: :string, desc: "Override default LLM model (e.g., glite, gflash)"
46
- option :only_staged, type: :boolean, aliases: %w[-s], desc: "Commit only currently staged changes"
49
+ option :only_staged, type: :boolean, aliases: %w[-s], desc: "Commit only currently staged changes and preserve unstaged edits"
47
50
  option :staged, type: :boolean, desc: "Alias for --only-staged"
48
51
  option :dry_run, type: :boolean, aliases: %w[-n], desc: "Show what would be committed without doing it"
49
52
  option :force, type: :boolean, aliases: %w[-f], desc: "Force operation (for future use)"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module GitCommit
5
- VERSION = '0.23.4'
5
+ VERSION = '0.25.4'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-git-commit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.4
4
+ version: 0.25.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-03-29 00:00:00.000000000 Z
10
+ date: 2026-04-20 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli