carson 2.29.0 → 2.30.0
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/RELEASE.md +11 -0
- data/VERSION +1 -1
- data/lib/carson/runtime/audit.rb +0 -1
- data/lib/carson/runtime/local/prune.rb +17 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 374e4a7af2ec608b1c3c9d07ca4a5ad8b028715434c1f02fb4b4034a71b153d2
|
|
4
|
+
data.tar.gz: a795fabcecbe2b43d03f155b0d4b730f804d0879ef4a1fe280cc4e082350c76f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 83b920da278fa2e457c424babaf3b06955a2317f920b5ad3681ae4da8a90fc5d5c3969d7160796b0febc49669a7cf7995c8f83ba674ce7f0865ca72eb6a48cbf
|
|
7
|
+
data.tar.gz: 8506fe647fe4538a27dd0ef25e0ecbeb1d9c0b78c8251d45b6023e562091cd6c861ef660707684b4e3d202a69728b0779a8a623ceb79313efc7e86eb0b482b17
|
data/RELEASE.md
CHANGED
|
@@ -5,6 +5,17 @@ Release-note scope rule:
|
|
|
5
5
|
- `RELEASE.md` records only version deltas, breaking changes, and migration actions.
|
|
6
6
|
- Operational usage guides live in `MANUAL.md` and `API.md`.
|
|
7
7
|
|
|
8
|
+
## 2.30.0 — Prune Rebase Merge Support + Audit Noise Reduction
|
|
9
|
+
|
|
10
|
+
### What changed
|
|
11
|
+
|
|
12
|
+
- **`carson prune` now handles rebase and cherry-pick merges.** When a stale branch fails SHA-based merged PR evidence (commit hashes change after rebase), prune falls back to content-level comparison against main. If the branch content is already absorbed into main, it is safely deleted.
|
|
13
|
+
- **Canonical templates hint removed from concise audit output.** The "canonical templates not configured" message no longer appears on every commit. Verbose mode retains it for debugging.
|
|
14
|
+
|
|
15
|
+
### Migration
|
|
16
|
+
|
|
17
|
+
- No action required. Prune behaviour is strictly more capable; existing workflows are unaffected.
|
|
18
|
+
|
|
8
19
|
## 2.29.0 — Audit Concise Output UX
|
|
9
20
|
|
|
10
21
|
### What changed
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.30.0
|
data/lib/carson/runtime/audit.rb
CHANGED
|
@@ -102,7 +102,6 @@ module Carson
|
|
|
102
102
|
puts_verbose ""
|
|
103
103
|
puts_verbose "[Canonical Templates]"
|
|
104
104
|
puts_verbose "HINT: canonical templates not configured — run carson setup to enable."
|
|
105
|
-
audit_concise_problems << "Hint: canonical templates not configured — run carson setup to enable."
|
|
106
105
|
end
|
|
107
106
|
write_and_print_pr_monitor_report(
|
|
108
107
|
report: monitor_report.merge(
|
|
@@ -305,6 +305,8 @@ module Carson
|
|
|
305
305
|
end
|
|
306
306
|
|
|
307
307
|
# Guarded force-delete policy for stale branches.
|
|
308
|
+
# Checks merged PR evidence first (exact SHA match), then falls back to
|
|
309
|
+
# absorbed-into-main detection (covers rebase merges where commit hashes change).
|
|
308
310
|
def force_delete_evidence_for_stale_branch( branch:, delete_error_text: )
|
|
309
311
|
return [ nil, "safe delete failure is not merge-related" ] unless non_merged_delete_error?( error_text: delete_error_text )
|
|
310
312
|
return [ nil, "gh CLI not available; cannot verify merged PR evidence" ] unless gh_available?
|
|
@@ -318,7 +320,21 @@ module Carson
|
|
|
318
320
|
branch_tip_sha = tip_sha_text.to_s.strip
|
|
319
321
|
return [ nil, "unable to read local branch tip sha" ] if branch_tip_sha.empty?
|
|
320
322
|
|
|
321
|
-
merged_pr_for_branch( branch: branch, branch_tip_sha: branch_tip_sha )
|
|
323
|
+
merged_pr, error = merged_pr_for_branch( branch: branch, branch_tip_sha: branch_tip_sha )
|
|
324
|
+
return [ merged_pr, error ] unless merged_pr.nil?
|
|
325
|
+
|
|
326
|
+
# Fallback: branch content is already on main (rebase/cherry-pick merges rewrite SHAs).
|
|
327
|
+
if branch_absorbed_into_main?( branch: branch )
|
|
328
|
+
absorbed_evidence = {
|
|
329
|
+
number: nil,
|
|
330
|
+
url: "absorbed into #{config.main_branch}",
|
|
331
|
+
merged_at: Time.now.utc.iso8601,
|
|
332
|
+
head_sha: branch_tip_sha
|
|
333
|
+
}
|
|
334
|
+
return [ absorbed_evidence, nil ]
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
[ nil, error ]
|
|
322
338
|
end
|
|
323
339
|
|
|
324
340
|
# Finds merged PR evidence for the exact local branch tip.
|