@thebassclef/lite 1.4.1 → 1.5.1

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/README.md CHANGED
@@ -35,7 +35,7 @@ See [`standards/os-support.md`](standards/os-support.md) for the full policy.
35
35
 
36
36
  ## Current release
37
37
 
38
- <!-- version-start -->1.4.1<!-- version-end -->
38
+ <!-- version-start -->1.5.1<!-- version-end -->
39
39
 
40
40
  See [CHANGELOG.md](CHANGELOG.md) for release notes.
41
41
 
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "1.4.1";
3
+ const version = "1.5.1";
4
4
  exports.version = version;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version: "1.4.1";
1
+ export declare const version: "1.5.1";
2
2
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const version = "1.4.1";
1
+ const version = "1.5.1";
2
2
  export {
3
3
  version
4
4
  };
@@ -80,7 +80,14 @@ LITE_STAGED=0
80
80
  while IFS= read -r file; do
81
81
  [ -z "$file" ] && continue
82
82
 
83
- # Quick path-class filter (avoids frontmatter reads for obviously non-lite files)
83
+ # Quick path-class filter (avoids frontmatter reads for obviously non-lite files).
84
+ # Covers all 11 manifest types per bassclef-upstream#1872 widen (2026-09-21):
85
+ # skills, rules, hooks, luminaries, agents, standards, ADRs,
86
+ # lib, scripts, templates, presence-templates, root-docs.
87
+ # Note: bash case-pattern `*` matches slashes, so `.claude/hooks/*.sh` already
88
+ # covers subdirs like `.claude/hooks/session-reflection.d/foo.sh`. Same for
89
+ # `standards/*.md`. No separate subdir patterns needed.
90
+ # Sister refactor to path-agnostic marker check tracked at #1873.
84
91
  case "$file" in
85
92
  .claude/skills/*/SKILL.md \
86
93
  | .claude/rules/*.md \
@@ -88,8 +95,21 @@ while IFS= read -r file; do
88
95
  | .claude/luminaries/*.md \
89
96
  | .claude/agents/*.md \
90
97
  | standards/*.md \
91
- | architecture/decisions/ADR-*.md)
92
- # Path class matches; check frontmatter for tier: lite
98
+ | architecture/decisions/ADR-*.md \
99
+ | lib/*.sh \
100
+ | scripts/*.sh \
101
+ | templates/*.md \
102
+ | presence/install/*.sh \
103
+ | presence/install/*.md \
104
+ | presence/install/*.jsonc \
105
+ | AGENTS.md \
106
+ | README.md \
107
+ | CLAUDE-lite.md \
108
+ | CODE_OF_CONDUCT.md \
109
+ | CONTRIBUTING.md \
110
+ | SECURITY.md \
111
+ | .claude/bassclef-orientation.md)
112
+ # Path class matches; check frontmatter for tier: lite (markdown YAML)
93
113
  if [ -f "$REPO_ROOT/$file" ] && head -20 "$REPO_ROOT/$file" 2>/dev/null | grep -q '^tier: lite'; then
94
114
  LITE_STAGED=1
95
115
  break
@@ -99,6 +119,11 @@ while IFS= read -r file; do
99
119
  LITE_STAGED=1
100
120
  break
101
121
  fi
122
+ # JSON root-key shape for .jsonc / .json files: `"tier": "lite"` — #1872 addition
123
+ if [ -f "$REPO_ROOT/$file" ] && head -3 "$REPO_ROOT/$file" 2>/dev/null | grep -q '"tier": "lite"'; then
124
+ LITE_STAGED=1
125
+ break
126
+ fi
102
127
  ;;
103
128
  esac
104
129
  done <<< "$STAGED"
@@ -444,6 +444,20 @@ _classify_via_patterns_json() {
444
444
  fi
445
445
  fi
446
446
  ;;
447
+ basename_in_file)
448
+ # bassclef-upstream#1867 — match when hook basename appears as
449
+ # a whole line in the file at $arg. Missing file falls through
450
+ # (fail-safe default per @luminary michael-nygard). Comments
451
+ # (lines starting with #) and blank lines never equal a valid
452
+ # .sh basename, so -qxF is safe without pre-filtering.
453
+ local list_file="$project_root/$arg"
454
+ if [ -f "$list_file" ]; then
455
+ if grep -qxF "$hook_name" "$list_file" 2>/dev/null; then
456
+ echo "$name"
457
+ return 0
458
+ fi
459
+ fi
460
+ ;;
447
461
  default)
448
462
  echo "$name"
449
463
  return 0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "tier": "lite",
3
- "manifest_version": "1.9.1",
4
- "generated_at": "2026-09-21T00:38:33Z",
3
+ "manifest_version": "1.9.4",
4
+ "generated_at": "2026-09-21T12:32:12Z",
5
5
  "entries": [
6
6
  {
7
7
  "slug": "029-release-pipeline",
@@ -544,7 +544,7 @@
544
544
  "type": "hook",
545
545
  "path": ".claude/hooks/pre-commit-manifest-autoregen.sh",
546
546
  "tier": "lite",
547
- "content_hash": "sha256:34dc76e61307d79da11bb38460823a8945a144f322ea2cf74b0cbfac75118ec2",
547
+ "content_hash": "sha256:b3641c5c2402fdedb9fb23b812548e94809dcc732e8d5e19af4fd5b488b023e0",
548
548
  "description": "PreToolUse: Bash"
549
549
  },
550
550
  {
@@ -824,7 +824,7 @@
824
824
  "type": "lib",
825
825
  "path": "lib/mechanism-fidelity.sh",
826
826
  "tier": "lite",
827
- "content_hash": "sha256:7ccd6751d3ff3c31b142aac3c1739cd1cb1863f5e13db29ce1eb8206def1b7ca",
827
+ "content_hash": "sha256:3253ce24b845e601486dea9dab4a9e27d11f7fc72f5b9084ab5fb473bea84826",
828
828
  "description": "lib/mechanism-fidelity.sh — shared scanner for the mechanism-fidelity"
829
829
  },
830
830
  {
@@ -3761,7 +3761,7 @@
3761
3761
  "type": "standard",
3762
3762
  "path": "standards/mechanism-fidelity.md",
3763
3763
  "tier": "lite",
3764
- "content_hash": "sha256:b212287354832a3613bf9bcdae7da6071df64d8c08f227e8d4233666ccea4d55",
3764
+ "content_hash": "sha256:e0b14abf4a0331c96c488d52c6e3067f827b6ef4d506c19c83616184c53c3642",
3765
3765
  "description": "- ADR-035 — names the substrate-as-system foundational tenet that this standard's audit method verifies - architecture/audits/2026-06-24-closeout.md — bet 24c architect-review that missed this class; this standard's audit fills the lens-gap and…"
3766
3766
  },
3767
3767
  {
@@ -4025,7 +4025,7 @@
4025
4025
  "type": "standard",
4026
4026
  "path": "standards/substrate-config-schema.md",
4027
4027
  "tier": "lite",
4028
- "content_hash": "sha256:94931a2f1f0e08f4381ddbc464ecd1578170f832a41d263a42f67ac0dfafee48",
4028
+ "content_hash": "sha256:dff6bec2527dfa1cb899fd907b4f802bd4ce7a1e4bb9621bdf3cdfcc05601804",
4029
4029
  "description": "substrate.config.md is the single source of truth for external resource references in any bassclef-substrate repo."
4030
4030
  },
4031
4031
  {
@@ -67,6 +67,7 @@ The class fires when one or more of these hold:
67
67
  | `NOT-WIRED-BY-DESIGN-CI` | Hook lives on disk and is referenced from `.github/workflows/*.yml`; settings.json is not the right home for it | `pr-body-scrub-check.sh`, `pr-body-loop-discipline-check.sh` |
68
68
  | `NOT-WIRED-BY-DESIGN-LAUNCHD` | Hook is scheduled by macOS launchd (or cron); header comment names the scheduler; settings.json is not the right home | `auto-save-idle.sh` |
69
69
  | `NOT-WIRED-BY-DESIGN-LIB` | File is sourced by other hooks (library role); header comment says "sourced by"; settings.json is not the right home | `trace-helper.sh` |
70
+ | `NOT-WIRED-BY-DESIGN-EXCLUSIONS` | Hook basename is listed in `presence/install/template-hook-exclusions.txt`; wired in bassclef-upstream settings.json but intentionally absent from the adopter-shipped template (bassclef-team-only or upstream-only substrate) | `lite-skill-key-gate-check.sh`, `user-global-hook-ref-guard-check.sh` |
70
71
  | `CLEAN` | All chain steps pass | most existing rules (audit will surface count) |
71
72
 
72
73
  ## The 5-step verification chain
@@ -83,7 +83,7 @@ uncommented defaults shown.
83
83
  # === Artifacts ===
84
84
  journal_doc_id: [per-repo draft Google Doc — pushes from /journal + session-end]
85
85
  changelog_doc_id: [per-repo weekly changelog Google Doc — pushes from /release-notes]
86
- brand_corpus_doc_id: [cross-repo brand team corpus — pushes from /journal-export]
86
+ brand_corpus_doc_id: [cross-repo brand team corpus — pushes from an operator export skill]
87
87
 
88
88
  # === Environments ===
89
89
  deploy_targets:
@@ -213,7 +213,7 @@ reference the raw ID directly.
213
213
 
214
214
  ### Anti-pattern 2: hardcoded IDs in skills
215
215
 
216
- **Before** (in `.claude/skills/journal-export/SKILL.md`):
216
+ **Before** (in a skill body):
217
217
  ```bash
218
218
  npx tsx scripts/push-to-gdoc.ts \
219
219
  --file docs/journal-corpus/corpus.md \
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thebassclef/lite",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Bassclef CLI — install and upgrade bassclef in your project with two commands.",
5
5
  "keywords": [
6
6
  "bassclef",