ace-git-secrets 0.13.2 → 0.15.5

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: 1e4d0ebecbfe93c6921c811aaadaf60707be68211c5721cd5ab30abc64d7480f
4
- data.tar.gz: b625ca8c87dd63fb92135164bf2922f20e089c628b62ed103fee55a4c81898a8
3
+ metadata.gz: b2677579d3a4647ed578e0f420a7cdbab110d23c49a75d26a2b8027d65f1e26b
4
+ data.tar.gz: b6642ecb7c0cfebb8a54992bb505d7dd1952ad2098e375a7b3c9bea7977a9f54
5
5
  SHA512:
6
- metadata.gz: 89c789334872bb614ca9f371b989fd462f959aeb93f0ae28ba17b967bd85273f7eb87702033624a9d8c4f1bb669bbb80b8338665b07adbc4f3738736a912e2b6
7
- data.tar.gz: 9eda5a2276570828d185b48fdd4a3016271361539222fa563d28721fb54f7416fe81669fd6177143ac0eecee6d9e1547e4c1b0f793d91b20ceb36455e55cfcee
6
+ metadata.gz: df5160c60b3989700faa7a67f1e4f8c32f27b7e7dfbc35206693a81813382a9fcabeddd79f5429187444bc66220428341b5d8db429be648591438b6740eca3c0
7
+ data.tar.gz: 10d33ab4bb871ae5e96b7d058ec4c5d14785d62671714b91fc6f8619311e548c476bea32a58dec9a927de5a83530b7096ac315ef096822713209899c3138c078
data/CHANGELOG.md CHANGED
@@ -7,6 +7,69 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.15.5] - 2026-04-20
11
+
12
+ ### Technical
13
+ - Stabilized `TS-SECRETS-001` help-survey verification by checking explicit public-surface facts instead of an arbitrary observation line count.
14
+ - Relaxed `TS-SECRETS-001` rewrite dry-run verification to reuse the canonical saved report captured by the prior scan goal instead of requiring a duplicate copy.
15
+ - Clarified `TS-SECRETS-001` config-cascade verification so table/plain CLI override output is recognized as distinct from config-driven JSON output.
16
+ - Allowed `TS-SECRETS-001` history-persistence verification to use later real scan artifacts as fallback post-removal evidence when the dedicated rescan capture is missing.
17
+
18
+ ## [0.15.4] - 2026-04-19
19
+
20
+ ### Fixed
21
+ - Corrected the usage guide for JSON release-gate output and config-driven format defaults so docs match the current `scan` and `check-release` public output behavior.
22
+
23
+ ## [0.15.3] - 2026-04-18
24
+
25
+ ### Technical
26
+ - Relaxed the retained help-survey verifier to accept the current five-line parity summary when it is grounded in captured help output and still proves `check-release` discovery plus config-driven whitelist behavior.
27
+
28
+ ## [0.15.2] - 2026-04-16
29
+
30
+ ### Fixed
31
+ - Stopped forcing table output defaults in `scan` and `check-release`, allowing configured `output.format` values to drive the public CLI output contract consistently across normal and release checks.
32
+
33
+ ## [0.15.1] - 2026-04-16
34
+
35
+ ### Fixed
36
+ - Tightened the focused config-cascade E2E to run `scan --verbose`, making output-format config effects visible and proving CLI precedence over user config with concrete stdout evidence.
37
+
38
+ ## [0.15.0] - 2026-04-15
39
+
40
+ ### Changed
41
+ - Rewrote `TS-SECRETS-001` to public-surface goal style by aligning help/docs parity, narrowing brittle broad checks, shifting rewrite validation to saved-report artifacts, and removing the legacy error-handling TC from retained scope.
42
+ - Added `TS-SECRETS-002-remediation-path` to validate the saved-report remediation flow (`scan -> revoke --scan-file -> rewrite-history --dry-run --scan-file`) with impact-first verification.
43
+
44
+ ## [0.14.3] - 2026-04-13
45
+
46
+ ### Fixed
47
+ - Reworked `TS-SECRETS-001` history-persistence coverage to judge the repo outcome and runner observations instead of synthetic helper summaries, while still capturing the explicit removal/commit evidence needed for diagnosis.
48
+
49
+ ## [0.14.2] - 2026-04-13
50
+
51
+ ### Fixed
52
+ - Hardened `TS-SECRETS-001` history-persistence capture so the removal/commit step emits the explicit evidence files required before the history rescan oracle runs.
53
+
54
+ ## [0.14.1] - 2026-04-13
55
+
56
+ ### Changed
57
+ - Completed the batch i05 migration follow-through for this package and aligned it with the restarted `fast` / `feat` / `e2e` verification model.
58
+
59
+ ### Technical
60
+ - Included in the coordinated assignment-driven patch release for batch i05 package updates.
61
+
62
+
63
+ ## [0.14.0] - 2026-04-12
64
+
65
+ ### Changed
66
+ - Migrated package tests to the `fast` / `feat` / `e2e` model, moved deterministic coverage into `test/fast`, and updated scenario/docs testing contract guidance.
67
+
68
+ ## [0.13.3] - 2026-03-29
69
+
70
+ ### Technical
71
+ - Normalized published gem metadata so RubyGems and Ruby Toolbox use current release information instead of the 1980 fallback date.
72
+
10
73
  ## [0.13.2] - 2026-03-29
11
74
 
12
75
  ### Technical
data/README.md CHANGED
@@ -36,5 +36,13 @@
36
36
 
37
37
  **Coordinate with git workflow tools** - pair with [ace-bundle](../ace-bundle) for loading remediation workflows, [ace-git](../ace-git) for repository context before cleanup, and [ace-git-commit](../ace-git-commit) for follow-up commits after remediation work.
38
38
 
39
+ ## Testing Contract
40
+
41
+ `ace-git-secrets` uses the restarted package testing model:
42
+
43
+ - `ace-test ace-git-secrets` runs deterministic package tests (`test/fast`).
44
+ - `ace-test ace-git-secrets feat` is reserved for deterministic feature-layer tests (`test/feat`) when present.
45
+ - `ace-test-e2e ace-git-secrets` runs retained workflow scenarios (`test/e2e`).
46
+
39
47
  ---
40
48
  [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md) | Part of [ACE](https://github.com/cs3b/ace)
@@ -101,6 +101,14 @@ This is the simplest command to drop into release workflows or pre-publish check
101
101
  | Preview cleanup | `ace-git-secrets rewrite-history --dry-run --scan-file .ace-local/git-secrets/sessions/abc123-report.json` |
102
102
  | Block a release on findings | `ace-git-secrets check-release --strict` |
103
103
 
104
+ ## Package Testing
105
+
106
+ When validating package changes:
107
+
108
+ - `ace-test ace-git-secrets` runs deterministic `test/fast` coverage.
109
+ - `ace-test ace-git-secrets feat` runs deterministic `test/feat` coverage when present.
110
+ - `ace-test-e2e ace-git-secrets` runs retained workflow scenarios in `test/e2e`.
111
+
104
112
  ## What to try next
105
113
 
106
114
  - Add whitelist rules in `.ace/git-secrets/config.yml` for known documentation examples or test fixtures
data/docs/usage.md CHANGED
@@ -3,8 +3,8 @@ doc-type: user
3
3
  title: ace-git-secrets Usage Guide
4
4
  purpose: CLI reference for ace-git-secrets
5
5
  ace-docs:
6
- last-updated: 2026-03-22
7
- last-checked: 2026-03-22
6
+ last-updated: 2026-04-19
7
+ last-checked: 2026-04-19
8
8
  ---
9
9
 
10
10
  # ace-git-secrets Usage Guide
@@ -42,6 +42,7 @@ Behavior:
42
42
  - Summary output goes to stdout by default
43
43
  - A full report is always saved to `.ace-local/git-secrets/sessions/`
44
44
  - The saved JSON report includes raw token values needed by `revoke` and `rewrite-history`
45
+ - When `--format` is omitted, verbose stdout uses `output.format` from config before falling back to `table`
45
46
 
46
47
  Options:
47
48
 
@@ -171,8 +172,8 @@ ace-git-secrets check-release --strict
171
172
  ace-git-secrets check-release --format json
172
173
  ```
173
174
 
174
- Prefer exit codes for automation. `check-release --format json` currently includes banner text, so it is better suited to
175
- inspection than strict machine parsing.
175
+ Prefer exit codes for pass/fail automation. Use `check-release --format json` when automation also needs the structured
176
+ release-gate result; JSON output is emitted without banner text.
176
177
 
177
178
  ## Configuration
178
179
 
@@ -198,6 +199,9 @@ github:
198
199
  api_url: https://github.mycompany.com/api/v3
199
200
  ```
200
201
 
202
+ The `output.format` value is used as the default stdout format for commands that support formatted output when their
203
+ `--format` option is not provided.
204
+
201
205
  Use whitelist rules for known safe examples or fixtures. Keep real credentials out of the whitelist and revoke them
202
206
  instead.
203
207
 
@@ -251,6 +255,15 @@ Limit the scan scope for triage work:
251
255
  ace-git-secrets scan --since "6 months ago"
252
256
  ```
253
257
 
258
+ ## Package Test Commands
259
+
260
+ Use the package-level test contract when validating this gem:
261
+
262
+ - `ace-test ace-git-secrets` for deterministic `test/fast` coverage
263
+ - `ace-test ace-git-secrets feat` for deterministic `test/feat` coverage when present
264
+ - `ace-test ace-git-secrets all` for full package deterministic coverage
265
+ - `ace-test-e2e ace-git-secrets` for retained workflow scenarios in `test/e2e`
266
+
254
267
  ## Exit Codes
255
268
 
256
269
  | Code | Meaning |
@@ -18,7 +18,7 @@ module Ace
18
18
 
19
19
  option :strict, type: :boolean, default: false,
20
20
  desc: "Fail on medium confidence matches"
21
- option :format, type: :string, aliases: ["f"], default: "table",
21
+ option :format, type: :string, aliases: ["f"],
22
22
  desc: "Output format (table, json)"
23
23
  option :debug, type: :boolean, default: false,
24
24
  desc: "Show debug output"
@@ -19,7 +19,7 @@ module Ace
19
19
  desc "Scan Git history for authentication tokens"
20
20
 
21
21
  option :since, type: :string, desc: "Start scanning from commit or date"
22
- option :format, type: :string, aliases: ["f"], default: "table",
22
+ option :format, type: :string, aliases: ["f"],
23
23
  desc: "Stdout format when --verbose is used (table, json, yaml)"
24
24
  option :report_format, type: :string, aliases: ["r"], default: "json",
25
25
  desc: "Format for saved report file (json, markdown)"
@@ -33,7 +33,8 @@ module Ace
33
33
  result = gate.check
34
34
 
35
35
  # Output formatted result
36
- puts gate.format_result(result, format: @options[:format] || "table")
36
+ format = @options[:format] || Ace::Git::Secrets.config.dig("output", "format") || "table"
37
+ puts gate.format_result(result, format: format)
37
38
 
38
39
  result[:exit_code]
39
40
  rescue => e
@@ -78,7 +78,7 @@ module Ace
78
78
  def format_report(report)
79
79
  case output_format
80
80
  when "json"
81
- report.to_json
81
+ report.to_json(include_raw: true)
82
82
  when "yaml"
83
83
  report.to_yaml
84
84
  else
@@ -3,7 +3,7 @@
3
3
  module Ace
4
4
  module Git
5
5
  module Secrets
6
- VERSION = '0.13.2'
6
+ VERSION = '0.15.5'
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-git-secrets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.2
4
+ version: 0.15.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-02 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-config