claudemd-cli 0.32.0 → 0.32.2

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.
Files changed (2) hide show
  1. package/CHANGELOG.md +16 -0
  2. 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.32.2] - 2026-07-10
12
+
13
+ **Patch — §13.2 batch review (overdue since 2026-06-10) + doctor tag-scan parser-parity fix.**
14
+
15
+ - **`spec/hard-rules.json`**: all 22 rules' `last_demote_review` stamped `2026-05-24` → `2026-07-10`. Review evidence: 30d rule-hits window (2078 hits, parse 5586/5586), `hard-rules-audit` `demoteCandidates=[]`, doctor rule-usage 5/5 healthy — keep all 22, no demotions. Full verdicts (2 candidates closed, shared-symbol repro 1→2 log-only) in `tasks/rule-candidates-2026-04.md` "Batch review — 2026-07-10". Next cadence: 2026-08-09.
16
+ - **Fix** (`scripts/lib/memory-tags.js`): `parseMemoryIndex` backtick tag-block regex was not anchored on `.md)` while the hook's sed (memory-read-check.sh) is — a prose/blockquote line quoting a decorative `` `[label]` `` token plus any `` `(….md)` `` token parsed as a tagged entry. Live FP: code-graph-mcp's MEMORY.md header line produced a `memory-tag-specificity` finding `{file: '…​.md', tag: 'label'}` against a non-entry. Both tag-block forms now carry the hook's greedy `.*\.md)` anchor. Same parser-parity family as the v0.23.11 first-vs-last file-match fix.
17
+ - **Tests**: `tests/scripts/memory-tags.test.js` 18 → 19 (blockquote header fixture is the live FP line verbatim).
18
+
19
+ ## [0.32.1] - 2026-07-10
20
+
21
+ **Patch — statusline: ctx segment no longer disappears right after `/clear`.** Reported live: immediately after `/clear` the meter rendered `[5h:0% · 7d:52%]` with no ctx segment. Root cause (verified against the CC 2.1.206 binary's payload constructor): before the first API response of a fresh session, CC sends `context_window` with an **explicit `used_percentage: null`** ("no usage yet"), which the renderer treated as "no data" and omitted. The `5h:0%` in the report was real data (new 5-hour window, fractional utilization floored), not part of the bug.
22
+
23
+ - **Fix** (`scripts/statusline.sh`): ctx extraction now distinguishes explicit-null from absent — `context_window` object present with a `used_percentage` key → null renders as `ctx:0%`; missing key / missing object / non-object still hides the segment (no fabricated 0% on foreign or pre-2.1.206 payloads). Side hardening: a non-object `context_window` (e.g. a string) no longer errors the jq program mid-stream.
24
+ - **Tests**: `tests/scripts/statusline.test.js` 20 → 23 cases (byte-shape post-/clear fixture with explicit nulls, object-without-key hidden, non-object garbage keeps later fields aligned).
25
+ - **Action on upgrade**: re-run `/claudemd-statusline` or any install/update to refresh `~/.claude/claudemd-statusline.sh`.
26
+
11
27
  ## [0.32.0] - 2026-07-10
12
28
 
13
29
  **Minor — spec v6.15.0: §2.1 Model tiering (spawned-agent model selection).** Core §2.1 gains a SHOULD-level block after Tool escalation: spawned agents default to inheriting the session model (omit `model` when unsure); whitelist downgrade — sonnet for mechanical fan-out (search / fetch / extract / classify / enumerate) + lint-or-test-gated bulk edits, opus for test-gated plan-step code; decision-shaped stages (orchestrate / synthesize / verify / judge / root-cause debug / L3 / §5-hard / §8) NEVER downgrade. Invariants: verifier tier ≥ generator; anomalous downgraded output → one re-run at inherited tier; evidence bar tier-independent. Paired net-delete: §7 metric-coupled row's 6 project-specific examples removed (Candidate 1 of `tasks/core-net-delete-candidates-v6.14.md`, −169B measured vs −280~340 estimated). Core lands at 24978/25000 (22B headroom — next core addition must fully net-delete). Design doc: `tasks/specs/model-tiering.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claudemd-cli",
3
- "version": "0.32.0",
3
+ "version": "0.32.2",
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": {