claudemd-cli 0.23.13 → 0.23.15
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.
- package/CHANGELOG.md +16 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,22 @@ All notable changes to the `claudemd` plugin. This changelog tracks plugin artif
|
|
|
8
8
|
- **Canonical spec version source**: `spec/CLAUDE.md` top-line title (`# AI-CODING-SPEC vX.Y.Z — Core`) + `spec/CLAUDE-changelog.md` top `##` entry.
|
|
9
9
|
- **Plugin semver vs spec semver** are independent: plugin patch (0.2.0 → 0.2.1) may ship when spec is unchanged (this release); plugin minor (0.1.9 → 0.2.0) ships when spec minor updates (v0.2.0 shipped spec v6.10.0).
|
|
10
10
|
|
|
11
|
+
## [0.23.15] - 2026-06-10
|
|
12
|
+
|
|
13
|
+
**Patch — ship-baseline false-positive: a commit message quoting `&& git push` was denied on red CI.** Spec content unchanged (stays v6.14.1). Continues the end-to-end user-test sweep into the PreToolUse hooks.
|
|
14
|
+
|
|
15
|
+
### Fixed — inline `-m "..."` commit-message prose tripped the push trigger
|
|
16
|
+
|
|
17
|
+
- `hooks/ship-baseline-check.sh`: v0.23.1 stripped heredoc bodies before the `git push` segment-anchor match so commit-message prose quoting `&& git push` would not trip the CI gate — but only for heredocs. The far more common inline form `git commit -m "fix && git push in docs"` (a pure commit, no push at all) still matched the trigger and was denied on red CI, with a deny message telling the user to add a `known-red baseline:` push-bypass marker — nonsensical for a command that never pushes. Fix: also strip `"..."` and `'...'` quoted bodies (after the heredoc strip + flatten) before the trigger match. A real push is always unquoted, so this removes the false positive without a false negative — `git commit -m "x" && git push` keeps its outside-quote `&& git push` and still gates. The `known-red baseline:` marker check reads the raw command, so the override inside a quoted `-m` payload is unaffected. Added Cases 25–26 (`&&` and `;` inside an inline `-m` quote → pass) alongside the existing non-regression case 21 (real chained push → deny).
|
|
18
|
+
|
|
19
|
+
## [0.23.14] - 2026-06-10
|
|
20
|
+
|
|
21
|
+
**Patch — SessionStart emitted invalid JSON when two banners fired together, dropping both.** Spec content unchanged (stays v6.14.1). Continues the end-to-end user-test sweep into the SessionStart / UserPromptSubmit hooks.
|
|
22
|
+
|
|
23
|
+
### Fixed — upgrade banner silently lost when the user also had session activity
|
|
24
|
+
|
|
25
|
+
- `hooks/session-start-check.sh`: in the "local install is current" branch, `upstream_check` (upgrade-available banner) and `emit_session_summary_banner` (last-session deny/bypass/warn counts) were called back-to-back, and **each prints its own complete SessionStart `additionalContext` JSON object**. CC parses hook stdout with a strict single-value `JSON.parse`, so two objects concatenated is invalid JSON — `Unexpected non-whitespace character after JSON` — and CC drops **both** banners. The two conditions co-occur exactly in the case that matters: a user with a pending upgrade who also had rule activity last session, so the upgrade notice vanishes precisely when they are active. The existing upstream-check tests (Cases 8–11) ran with no summary file present, so they never produced the two-object output, and their assertions grep for substrings rather than validating JSON. Fix: capture both helpers' output (their side effects — sentinel touch, file rename, `hook_record` — still run inside the command substitution) and emit at most one object via `jq -s`, merging the two `additionalContext` fields with a blank line when both fire. Added Case 14 asserting `jq -s length == 1` on the combined-banner stdout (was 2 pre-fix).
|
|
26
|
+
|
|
11
27
|
## [0.23.13] - 2026-06-10
|
|
12
28
|
|
|
13
29
|
**Patch — 4 bugfixes from a 3-round end-to-end user-test sweep (Stop hooks, standalone CLI, sampling audit).** Spec content (`spec/CLAUDE*.md`) unchanged (stays v6.14.1). Each fix carries a reproduction + regression test; node suite 513 → 515, plus added bash hook regression cases (transcript-structure-scan +3, session-end-check +2); all suites + integration green.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claudemd-cli",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.15",
|
|
4
4
|
"description": "Standalone CLI for §10-V banned-vocab + transcript scanning. Companion to the claudemd Claude Code plugin (github.com/sdsrss/claudemd) for use in git pre-commit hooks, GitHub Actions, and other agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|