@thebassclef/lite 1.9.3 → 1.9.5

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 (28) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/lite/.claude/bassclef-orientation.md +20 -0
  6. package/dist/lite/.claude/hooks/session-reflection.sh +23 -0
  7. package/dist/lite/.claude/rules/blocked-items.md +18 -0
  8. package/dist/lite/.claude/skills/longrun/SKILL.md +66 -0
  9. package/dist/lite/.claude/skills/onboard-repo/SKILL.md +33 -0
  10. package/dist/lite/bassclef-version.json +5 -5
  11. package/dist/lite/lib/ancestor-claude-check.sh +26 -4
  12. package/dist/lite/lib/bassclef-dir-resolver.sh +20 -14
  13. package/dist/lite/lib/capability-probe.sh +11 -17
  14. package/dist/lite/lib/statusline-version.sh +103 -0
  15. package/dist/lite/presence/cli/bassclef-statusline.dispatcher.sh +26 -7
  16. package/dist/lite/presence/install/bassclef-hook-connect.sh +56 -2
  17. package/dist/lite/presence/install/bassclef-sync.template.sh +43 -0
  18. package/dist/lite/scripts/generate-lite-manifest.sh +12 -6
  19. package/dist/lite/scripts/interpret-input/extract-repo.sh +239 -0
  20. package/dist/lite/scripts/interpret-input.sh +212 -0
  21. package/dist/lite/scripts/launch/local-serve-stop.sh +41 -0
  22. package/dist/lite/scripts/launch/local-serve.sh +122 -0
  23. package/dist/lite/scripts/launch/parse-input-args.sh +177 -0
  24. package/dist/lite/scripts/longrun-preset-detect.sh +87 -0
  25. package/dist/lite/standards/lite-manifest-schema-changes.md +36 -0
  26. package/dist/lite/standards/lite-manifest.json +71 -15
  27. package/dist/lite/standards/session-start-banner-discipline.md +18 -5
  28. package/package.json +1 -1
@@ -9,26 +9,39 @@ Session-start checks in `.claude/hooks/session-reflection.d/` emit banners that
9
9
 
10
10
  This standard names a four-level palette. Each check picks the level that matches its own state.
11
11
 
12
- ## The four levels
12
+ ## The five levels
13
13
 
14
14
  | Level | Glyph | Text label | When to use |
15
15
  |---|---|---|---|
16
16
  | BLOCK | 🛑 | BLOCKED | The session cannot safely proceed with substantive work. Real defect. Missing prerequisite. Active drift that will corrupt state. |
17
+ | GUARDRAIL | ⚙ | BASSCLEF DISCIPLINE GATE | The session must pause and apply discipline before proceeding. Not a defect. Chronicle stale, architect-review overdue, temperance marker missing, /decompose evidence owed. Per sunj-labs/bassclef-upstream#1930 Category A. |
17
18
  | ADVISORY | ⚠ | ADVISORY | Context worth reading. Session may proceed. The operator is informed; they choose whether to act now or later. |
18
19
  | INFO | ℹ | INFO | State report. No action needed. Fires only when the reader benefits from knowing the state. |
19
- | silent-on-clean | — | — | Check runs but reports nothing when state is nominal. Fires only on non-nominal state (which routes to one of the three above). |
20
+ | silent-on-clean | — | — | Check runs but reports nothing when state is nominal. Fires only on non-nominal state (which routes to one of the four above). |
20
21
 
21
22
  Every check picks exactly one level. Ambiguous cases default to silent-on-clean.
22
23
 
24
+ BLOCK and GUARDRAIL both stop the session on substantive work. The difference is tone. BLOCK signals a defect. GUARDRAIL signals a discipline pause. Machine readers grep the `BLOCKED:` prefix on message body lines regardless of header shape.
25
+
23
26
  ## How to pick
24
27
 
25
- Ask two questions in order.
28
+ Ask three questions in order.
26
29
 
27
- 1. **Does this check indicate the session cannot safely proceed?** If yes, BLOCK. Cannot-proceed means: writing code now will corrupt state, or will ship a broken change, or will silently defeat a safety mechanism. Missing bassclef-sync template drift. Failing pre-commit gate. Schema validation error. These block.
28
- 2. **Does the reader gain value from knowing about this now?** If yes, ADVISORY or INFO. ADVISORY when the reader may want to act (read the artifact, address the drift). INFO when it is pure state (last save time, current branch). If no, silent-on-clean.
30
+ 1. **Does this check indicate a real defect that will corrupt state?** If yes, BLOCK. Schema validation failure, dangling reference, corrupt state file, missing bassclef-sync template drift. These block.
31
+ 2. **Does this check ask the agent to pause and apply discipline?** If yes, GUARDRAIL. Chronicle stale, architect-review overdue, temperance missing, /decompose evidence owed, pre-mortem light not fired. These are steering, not defects.
32
+ 3. **Does the reader gain value from knowing about this now?** If yes, ADVISORY or INFO. ADVISORY when the reader may want to act (read the artifact, address the drift). INFO when it is pure state (last save time, current branch). If no, silent-on-clean.
29
33
 
30
34
  Default to silent-on-clean when in doubt. Every advisory or info banner spends the reader's attention. Spend it on things they benefit from.
31
35
 
36
+ ## Helper functions
37
+
38
+ Two shell helpers in `.claude/hooks/session-reflection.sh` render the banners.
39
+
40
+ - `blocked_banner "$msg" [severity]` — renders BLOCK, ADVISORY, or INFO based on the second arg (default: blocking). Used by all four historical severities.
41
+ - `guardrail_banner "$hook_name" "$step" "$retry"` — renders GUARDRAIL. Takes three args: hook name (goes in header), specific step, retry action. Reads `AI_NAME` from `${BASSCLEF_AI_NAME:-Claude}`. Per #1930 Category A design lock.
42
+
43
+ Callers migrate from `blocked_banner` (blocking) to `guardrail_banner` one at a time when the check fits the discipline-gate shape (question 2 above). The additive-only path preserves the machine-reader contract.
44
+
32
45
  ## Signifier discipline (Norman)
33
46
 
34
47
  The glyph is a signifier — a perceivable cue that suggests state. The signifier fit is:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thebassclef/lite",
3
- "version": "1.9.3",
3
+ "version": "1.9.5",
4
4
  "description": "Bassclef CLI — install and upgrade bassclef in your project with two commands.",
5
5
  "keywords": [
6
6
  "bassclef",