ace-git-secrets 0.13.3 → 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 +4 -4
- data/CHANGELOG.md +58 -0
- data/README.md +8 -0
- data/docs/getting-started.md +8 -0
- data/docs/usage.md +17 -4
- data/lib/ace/git/secrets/cli/commands/check_release.rb +1 -1
- data/lib/ace/git/secrets/cli/commands/scan.rb +1 -1
- data/lib/ace/git/secrets/commands/check_release_command.rb +2 -1
- data/lib/ace/git/secrets/organisms/security_auditor.rb +1 -1
- data/lib/ace/git/secrets/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b2677579d3a4647ed578e0f420a7cdbab110d23c49a75d26a2b8027d65f1e26b
|
|
4
|
+
data.tar.gz: b6642ecb7c0cfebb8a54992bb505d7dd1952ad2098e375a7b3c9bea7977a9f54
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: df5160c60b3989700faa7a67f1e4f8c32f27b7e7dfbc35206693a81813382a9fcabeddd79f5429187444bc66220428341b5d8db429be648591438b6740eca3c0
|
|
7
|
+
data.tar.gz: 10d33ab4bb871ae5e96b7d058ec4c5d14785d62671714b91fc6f8619311e548c476bea32a58dec9a927de5a83530b7096ac315ef096822713209899c3138c078
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,64 @@ 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
|
+
|
|
10
68
|
## [0.13.3] - 2026-03-29
|
|
11
69
|
|
|
12
70
|
### 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)
|
data/docs/getting-started.md
CHANGED
|
@@ -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-
|
|
7
|
-
last-checked: 2026-
|
|
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`
|
|
175
|
-
|
|
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"],
|
|
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"],
|
|
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
|
-
|
|
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
|
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.
|
|
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: 2026-
|
|
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
|