@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 +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/lite/.claude/hooks/pre-commit-manifest-autoregen.sh +28 -3
- package/dist/lite/lib/mechanism-fidelity.sh +14 -0
- package/dist/lite/standards/lite-manifest.json +6 -6
- package/dist/lite/standards/mechanism-fidelity.md +1 -0
- package/dist/lite/standards/substrate-config-schema.md +2 -2
- package/package.json +1 -1
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.
|
|
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
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version: "1.
|
|
1
|
+
export declare const version: "1.5.1";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
4
|
-
"generated_at": "2026-09-
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
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 \
|