@thebassclef/lite 0.1.0 → 0.1.3

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 (163) hide show
  1. package/dist/cli.cjs +40 -6
  2. package/dist/cli.js +40 -6
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/package.json +1 -1
  7. package/substrate/.bassclef/lite-manifest.json +999 -92
  8. package/substrate/.claude/hooks/longrun-prep-compounding-axis-check.sh +492 -0
  9. package/substrate/.claude/hooks/longrun-prep-compounding-sequence-check.sh +492 -0
  10. package/substrate/.claude/hooks/pre-commit-gate.sh +1 -2
  11. package/substrate/.claude/hooks/turn-prose-kiss-check.sh +30 -1
  12. package/substrate/.claude/luminaries/glenford-myers.md +230 -0
  13. package/substrate/.claude/luminaries/hunt-thomas.md +115 -0
  14. package/substrate/.claude/luminaries/hyrum-wright.md +94 -0
  15. package/substrate/.claude/luminaries/michael-feathers.md +2 -2
  16. package/substrate/.claude/luminaries/tony-hoare.md +170 -0
  17. package/substrate/.claude/luminaries/vaughn-vernon.md +50 -0
  18. package/substrate/.claude/luminaries/w-edwards-deming.md +158 -0
  19. package/substrate/.claude/rules/accessor-library-discipline.md +138 -0
  20. package/substrate/.claude/rules/adr-discipline.md +120 -0
  21. package/substrate/.claude/rules/api-conventions.md +125 -0
  22. package/substrate/.claude/rules/bootstrap-pair-discipline.md +141 -0
  23. package/substrate/.claude/rules/cold-adopter-harness-discipline.md +129 -0
  24. package/substrate/.claude/rules/compounding-axis-fresh-analysis.md +188 -0
  25. package/substrate/.claude/rules/compounding-sequence-fresh-analysis.md +188 -0
  26. package/substrate/.claude/rules/defensive-bash.md +68 -0
  27. package/substrate/.claude/rules/deferred-actions.md +233 -0
  28. package/substrate/.claude/rules/github-issue-flash-tweet.md +156 -0
  29. package/substrate/.claude/rules/hook-wire-on-author.md +103 -0
  30. package/substrate/.claude/rules/iteration-bet-brief-completeness.md +54 -0
  31. package/substrate/.claude/rules/lite-manifest-schema-change-discipline.md +3 -3
  32. package/substrate/.claude/rules/longrun-prep-plan-doc-compression.md +89 -0
  33. package/substrate/.claude/rules/loop-discipline.md +81 -0
  34. package/substrate/.claude/rules/manual-prod-approval.md +100 -0
  35. package/substrate/.claude/rules/marker-enrichment-discipline.md +99 -0
  36. package/substrate/.claude/rules/mobile-ephemeral-session.md +109 -0
  37. package/substrate/.claude/rules/new-dependency-check.md +51 -0
  38. package/substrate/.claude/rules/option-label-discipline.md +108 -0
  39. package/substrate/.claude/rules/pattern-annotation.md +100 -0
  40. package/substrate/.claude/rules/plain-english-discipline.md +11 -9
  41. package/substrate/.claude/rules/plan-enumeration-needs-value-props.md +211 -0
  42. package/substrate/.claude/rules/pr-title-shape.md +161 -0
  43. package/substrate/.claude/rules/prototype-workflow.md +65 -0
  44. package/substrate/.claude/rules/reserved-skill-names.md +123 -0
  45. package/substrate/.claude/rules/schema-management.md +49 -0
  46. package/substrate/.claude/rules/security.md +37 -0
  47. package/substrate/.claude/rules/skill-composition-declarations.md +124 -0
  48. package/substrate/.claude/rules/skill-description-clarity.md +247 -0
  49. package/substrate/.claude/rules/skill-procedure-step-list.md +137 -0
  50. package/substrate/.claude/rules/stuck-signal-diagnostic.md +140 -0
  51. package/substrate/.claude/rules/substrate-config-schema.md +98 -0
  52. package/substrate/.claude/rules/test-list-discipline.md +175 -0
  53. package/substrate/.claude/rules/test-sufficiency.md +210 -0
  54. package/substrate/.claude/rules/testing-tier-config.md +145 -0
  55. package/substrate/.claude/rules/testing.md +38 -0
  56. package/substrate/.claude/rules/turn-estimate-grounding.md +134 -0
  57. package/substrate/.claude/rules/visual-hierarchy.md +437 -0
  58. package/substrate/.claude/rules/we-dont-break-adopters.md +126 -0
  59. package/substrate/.claude/rules/wu-sequencing-compounds.md +145 -0
  60. package/substrate/.claude/skills/build/SKILL.md +1 -1
  61. package/substrate/.claude/skills/chronicle/SKILL.md +55 -0
  62. package/substrate/.claude/skills/clean-artifacts/SKILL.md +249 -0
  63. package/substrate/.claude/skills/decompose/SKILL.md +1 -1
  64. package/substrate/.claude/skills/diagnose/SKILL.md +1 -1
  65. package/substrate/.claude/skills/feynman/SKILL.md +90 -0
  66. package/substrate/.claude/skills/howdoi/SKILL.md +1 -1
  67. package/substrate/.claude/skills/ia-model/SKILL.md +1 -1
  68. package/substrate/.claude/skills/interaction-design/SKILL.md +1 -1
  69. package/substrate/.claude/skills/interpret-input/SKILL.md +8 -8
  70. package/substrate/.claude/skills/journal/SKILL.md +209 -0
  71. package/substrate/.claude/skills/kiss/SKILL.md +1 -1
  72. package/substrate/.claude/skills/launch/SKILL.md +14 -23
  73. package/substrate/.claude/skills/lean-canvas/SKILL.md +1 -1
  74. package/substrate/.claude/skills/longrun/SKILL.md +45 -8
  75. package/substrate/.claude/skills/luminary/SKILL.md +1 -1
  76. package/substrate/.claude/skills/ogilvy-writing-audit/SKILL.md +1 -1
  77. package/substrate/.claude/skills/onboard-repo/SKILL.md +143 -709
  78. package/substrate/.claude/skills/pattern-review/SKILL.md +1 -1
  79. package/substrate/.claude/skills/personas/SKILL.md +5 -5
  80. package/substrate/.claude/skills/promote/SKILL.md +1 -1
  81. package/substrate/.claude/skills/requirement/SKILL.md +1 -1
  82. package/substrate/.claude/skills/retro/SKILL.md +1 -1
  83. package/substrate/.claude/skills/riff/SKILL.md +1 -1
  84. package/substrate/.claude/skills/roadmap-reconcile/SKILL.md +1 -1
  85. package/substrate/.claude/skills/session-end/SKILL.md +1 -1
  86. package/substrate/.claude/skills/session-log/SKILL.md +3 -3
  87. package/substrate/.claude/skills/skills/SKILL.md +1 -1
  88. package/substrate/.claude/skills/spec/SKILL.md +1 -1
  89. package/substrate/.claude/skills/sprint/SKILL.md +1 -1
  90. package/substrate/.claude/skills/stage/SKILL.md +1 -1
  91. package/substrate/.claude/skills/state-a-problem/SKILL.md +1 -1
  92. package/substrate/.claude/skills/temperance/SKILL.md +1 -1
  93. package/substrate/.claude/skills/use-case/SKILL.md +1 -1
  94. package/substrate/.claude/skills/user-stories/SKILL.md +1 -1
  95. package/substrate/.claude/skills/value-prop/SKILL.md +1 -1
  96. package/substrate/.claude/skills/verify/SKILL.md +1 -1
  97. package/substrate/.claude/skills/visual-review/SKILL.md +503 -0
  98. package/substrate/.claude/skills/whats-the-plan/SKILL.md +202 -0
  99. package/substrate/.claude/skills/whereami/SKILL.md +2 -2
  100. package/substrate/CONTRIBUTING.md +1 -1
  101. package/substrate/README.md +5 -5
  102. package/substrate/lib/prose-scan-boundary.sh +171 -0
  103. package/substrate/lib/tier-check.sh +50 -1
  104. package/substrate/lib/tier-dependency-audit.sh +159 -4
  105. package/substrate/presence/install/bassclef-sync.template.sh +1 -1
  106. package/substrate/scripts/generate-lite-manifest.sh +21 -5
  107. package/substrate/standards/adr-template.md +86 -0
  108. package/substrate/standards/api-conventions/nextjs.md +84 -0
  109. package/substrate/standards/artifact-composition.md +209 -0
  110. package/substrate/standards/bash-hook-safety.md +246 -0
  111. package/substrate/standards/branch-stacking.md +408 -0
  112. package/substrate/standards/code-safety-principles.md +176 -0
  113. package/substrate/standards/composer-prerequisites.md +155 -0
  114. package/substrate/standards/dependency-discipline/cargo.md +39 -0
  115. package/substrate/standards/dependency-discipline/gem.md +43 -0
  116. package/substrate/standards/dependency-discipline/go-mod.md +41 -0
  117. package/substrate/standards/dependency-discipline/npm.md +42 -0
  118. package/substrate/standards/dependency-discipline/pip.md +42 -0
  119. package/substrate/standards/deployment-topology/ec2-tailscale.md +225 -0
  120. package/substrate/standards/deployment-topology.md +69 -0
  121. package/substrate/standards/docs-sync-allowlist.md +4 -4
  122. package/substrate/standards/domain-and-dns.md +145 -0
  123. package/substrate/standards/frontend-stack.md +67 -0
  124. package/substrate/standards/frontmatter-schema.md +154 -0
  125. package/substrate/standards/hook-injection-discipline.md +202 -0
  126. package/substrate/standards/hook-install-class.md +215 -0
  127. package/substrate/standards/input-handler-interface.md +152 -0
  128. package/substrate/standards/lite-manifest-schema-changes.md +60 -0
  129. package/substrate/standards/luminary-matching.md +105 -0
  130. package/substrate/standards/migration-discipline/active-record.md +50 -0
  131. package/substrate/standards/migration-discipline/alembic.md +43 -0
  132. package/substrate/standards/migration-discipline/gorm.md +50 -0
  133. package/substrate/standards/migration-discipline/prisma.md +53 -0
  134. package/substrate/standards/migration-discipline/sqlalchemy.md +51 -0
  135. package/substrate/standards/mobile-ephemeral-session.md +167 -0
  136. package/substrate/standards/model-routing-discipline.md +160 -0
  137. package/substrate/standards/persona-schema.md +229 -0
  138. package/substrate/standards/pluggable-luminaries.md +323 -0
  139. package/substrate/standards/pr-body-discipline.md +115 -0
  140. package/substrate/standards/preview-state-schema.md +189 -0
  141. package/substrate/standards/reserved-skill-names.md +120 -0
  142. package/substrate/standards/scannable-multi-option-output.md +261 -0
  143. package/substrate/standards/sdlc-gates/typescript.md +57 -0
  144. package/substrate/standards/session-board.md +256 -0
  145. package/substrate/standards/state-spine-contract.md +255 -0
  146. package/substrate/standards/steering-hints/kiss-words.md +11 -0
  147. package/substrate/standards/substrate-config-schema.md +267 -0
  148. package/substrate/standards/tier-dependency-analysis.md +1 -1
  149. package/substrate/standards/tier-tag-schema.md +1 -1
  150. package/substrate/standards/two-layer-config.md +99 -0
  151. package/substrate/standards/use-case-format.md +292 -0
  152. package/substrate/standards/user-story-invest.md +268 -0
  153. package/substrate/standards/velocity-and-appetite.md +229 -0
  154. package/substrate/standards/voice-input-pattern.md +119 -0
  155. package/substrate/standards/worktree-management.md +211 -0
  156. package/substrate/templates/chronicle-template.md +75 -0
  157. package/substrate/templates/memory-proposal-template.md +77 -0
  158. package/substrate/templates/persona-template.md +200 -0
  159. package/substrate/templates/pr-faq.md +45 -0
  160. package/substrate/templates/secret-rotation-template.md +162 -0
  161. package/substrate/templates/spec-template.md +131 -0
  162. package/substrate/templates/use-case-template.md +194 -0
  163. package/substrate/templates/user-story-template.md +107 -0
@@ -0,0 +1,194 @@
1
+ ---
2
+ tier: lite
3
+ ---
4
+
5
+ # UC-NNN — [imperative goal title]
6
+
7
+ <!--
8
+ Template for a Cockburn fully-dressed use case.
9
+ See standards/use-case-format.md for the schema + validation rules.
10
+ See .claude/skills/use-case/SKILL.md for the procedure.
11
+
12
+ Replace NNN with a zero-padded 3-digit number.
13
+ Title is imperative, no period (e.g., "Sign in with email and password").
14
+ Delete all <!-- comment -- > blocks before committing.
15
+ -->
16
+
17
+ - **Primary actor**: [persona-slug]
18
+ - **Goal level**: 🎯 user-goal
19
+ <!-- ☁️ summary (multi-session) | 🎯 user-goal (single session, default) | 🐟 subfunction (reused by ≥2 use cases) -->
20
+ - **Scope**: [system-under-design]
21
+ - **Status**: draft
22
+ - **Last validated**: YYYY-MM-DD
23
+
24
+ ## Stakeholders + interests
25
+
26
+ <!-- At least 2 NON-ACTOR stakeholders required (beyond primary actor).
27
+ Examples: Compliance, Ops, Support, Billing, Legal, Security, Partners.
28
+ Each row feeds /decompose's -ility audit — cross-cutting concerns
29
+ that would otherwise get bolted into implementations later. -->
30
+
31
+ | Stakeholder | Interest |
32
+ |-------------|----------|
33
+ | [stakeholder] | [what they want to be true about this goal's execution] |
34
+ | [stakeholder] | [...] |
35
+
36
+ ## Preconditions
37
+
38
+ <!-- Checkable state invariants the use case assumes on entry.
39
+ "The system is running" is throat-clearing, not a precondition.
40
+ Valid: "account exists," "user authenticated," "quota below limit." -->
41
+
42
+ - [state invariant 1]
43
+ - [state invariant 2]
44
+
45
+ ## Minimal guarantees
46
+
47
+ <!-- What's true after ANY exit (success or extension).
48
+ Typically: audit logging, state consistency, no secret leakage. -->
49
+
50
+ - [invariant that holds on any exit]
51
+
52
+ ## Success guarantees
53
+
54
+ <!-- What's true on successful completion only. -->
55
+
56
+ - [invariant that holds on success]
57
+
58
+ ## Trigger
59
+
60
+ <!-- The specific event (actor action, scheduled event, external signal) that starts the flow. -->
61
+
62
+ - [triggering event]
63
+
64
+ ## Main success scenario
65
+
66
+ <!-- Numbered list, 3-9 steps, alternating actor↔system.
67
+ No implementation language ("system calls Postgres" ❌ — say "system retrieves X").
68
+ >9 steps = split into subfunction use case(s). -->
69
+
70
+ 1. [Actor does X]
71
+ 2. [System responds with Y]
72
+ 3. [Actor does Z]
73
+ 4. [System does W]
74
+ 5. [...]
75
+
76
+ ## Extensions
77
+
78
+ <!-- EVERY step in main scenario MUST have at least one extension considered,
79
+ OR an explicit line: "*No extensions — [reason]*". Silence is failure.
80
+
81
+ Format: Na (step number + letter). Sub-steps: Na1, Na2, Na3.
82
+
83
+ Enumeration prompts (Cockburn):
84
+ 1. What if actor input is invalid?
85
+ 2. What if system can't complete step (timeout, dependency, resource)?
86
+ 3. What if precondition silently broke?
87
+ 4. What if actor abandons partway?
88
+ 5. What if concurrent actor changed state?
89
+ -->
90
+
91
+ - **Na. [condition at step N]**:
92
+ - Na1. [recovery step 1]
93
+ - Na2. [recovery step 2]
94
+ - Na3. Use case ends with [outcome].
95
+
96
+ - **Nb. [another condition at step N]**:
97
+ - Nb1. [...]
98
+ - Nb2. Use case ends with [outcome].
99
+
100
+ - **Ma. [condition at step M]**:
101
+ - Ma1. [...]
102
+
103
+ ## Technology / data variations (optional)
104
+
105
+ <!-- Use when the same logical step has multiple implementation paths
106
+ with different -ility characteristics. Feeds /decompose with variation
107
+ points needing Strategy pattern. Omit if not applicable. -->
108
+
109
+ - *Step N*: [alternative mechanism] — [when used]
110
+
111
+ ## Related information
112
+
113
+ - **Non-functional requirements**: [rate limits, latency SLOs, accessibility, etc.]
114
+ - **References**: [specs, ADRs, canvases, external docs]
115
+ - **Sliced by stories**: [US-NNN, US-NNN, ...]
116
+ - **JTBD traceability**: [J-N — job-statement]
117
+ - **VPC traceability** (if applicable): [PR-N or GC-N — item]
118
+
119
+ ---
120
+
121
+ ## Worked example — sign in with email and password
122
+
123
+ <!-- Keep this worked example in the template for reference;
124
+ /use-case skill strips it when emitting a new file. -->
125
+
126
+ # UC-001 — Sign in with email and password
127
+
128
+ - **Primary actor**: cofounder-pair
129
+ - **Goal level**: 🎯 user-goal
130
+ - **Scope**: POA web UI + auth service
131
+ - **Status**: accepted
132
+ - **Last validated**: 2026-04-21
133
+
134
+ ## Stakeholders + interests
135
+
136
+ | Stakeholder | Interest |
137
+ |-------------|----------|
138
+ | Compliance | Every attempt logged with IP + user-agent |
139
+ | Ops | No password or partial hash leaks into logs |
140
+ | Support | Failed-auth reason visible in support tool (not actor) |
141
+ | Billing | Successful auth increments MAU counter |
142
+
143
+ ## Preconditions
144
+
145
+ - cofounder-pair account exists in the user table
146
+ - Password has been set (not null)
147
+
148
+ ## Minimal guarantees
149
+
150
+ - Audit log entry written with timestamp + outcome + user-ID (or null for failed lookup)
151
+ - No password or hash value written to logs
152
+
153
+ ## Success guarantees
154
+
155
+ - Valid session cookie issued with 24h TTL
156
+ - MAU counter incremented for the actor's tenant
157
+
158
+ ## Trigger
159
+
160
+ - Actor submits email + password form
161
+
162
+ ## Main success scenario
163
+
164
+ 1. Actor submits email + password.
165
+ 2. System looks up account by email.
166
+ 3. System verifies password against stored hash.
167
+ 4. System issues session cookie with 24h TTL.
168
+ 5. System redirects to post-auth landing page.
169
+
170
+ ## Extensions
171
+
172
+ - **2a. Email not found**:
173
+ - 2a1. System displays generic "Invalid credentials" (no user enumeration).
174
+ - 2a2. Audit log entry written with null user-ID.
175
+ - 2a3. Use case ends with actor unauthenticated.
176
+ - **3a. Password mismatch**:
177
+ - 3a1. System displays generic "Invalid credentials."
178
+ - 3a2. Audit log entry written with user-ID + "pw-mismatch" reason.
179
+ - 3a3. Use case ends with actor unauthenticated.
180
+ - **3b. Account locked (rate-limit exceeded)**:
181
+ - 3b1. System displays "Account temporarily locked — try again in N minutes."
182
+ - 3b2. Audit log entry written with "lockout" reason.
183
+ - 3b3. Use case ends with actor unauthenticated.
184
+ - **4a. Session issue fails (transient)**:
185
+ - 4a1. System displays "Try again" error.
186
+ - 4a2. Audit log written with "session-issue-failure" + error code.
187
+ - 4a3. Use case ends with actor unauthenticated.
188
+
189
+ ## Related information
190
+
191
+ - **Non-functional requirements**: p95 auth latency <500ms; rate-limit 5 attempts per email per 15min
192
+ - **References**: ADR-003 session management, standards/security.md
193
+ - **Sliced by stories**: US-001 (happy path), US-002 (rate limit UX), US-003 (audit log)
194
+ - **JTBD traceability**: J1 — "Sign in quickly without re-typing credentials on every session"
@@ -0,0 +1,107 @@
1
+ ---
2
+ tier: lite
3
+ ---
4
+
5
+ # US-NNN — [Imperative title — what the persona accomplishes]
6
+
7
+ <!--
8
+ Bassclef user story template. INVEST-shaped per
9
+ standards/user-story-invest.md. Produced by /user-stories skill.
10
+
11
+ Save location:
12
+ Per-story: docs/user-stories/US-NNN-[slug].md (preferred —
13
+ granular Git history, easier review)
14
+ Batch: docs/user-stories/[iteration-slug].md (acceptable
15
+ for small iterations or bulk import)
16
+
17
+ Filename basename MUST match the US-NNN ID.
18
+
19
+ Delete this comment block after copy-paste.
20
+ -->
21
+
22
+ **ID**: US-NNN
23
+ **Iteration**: [iteration-bet path or slug]
24
+ **Status**: new | refined | in-progress | done | killed
25
+ **INVEST**: PASS | PASS-WARN | WARN | FAIL (computed by /user-stories validate)
26
+ **Estimate**: [story points / t-shirt / hours — team convention]
27
+
28
+ ---
29
+
30
+ ## Story
31
+
32
+ **As a** [persona slug — e.g., `couple-founders`, NOT "user"]
33
+ **I want to** [observable, testable outcome — what the persona does or experiences, NOT internal mechanism]
34
+ **So that** [benefit grounded in VPC entry or JTBD outcome]
35
+
36
+ ---
37
+
38
+ ## Traceability
39
+
40
+ <!--
41
+ REQUIRED: Persona + JTBD. SHOULD: VPC + use-case (when present).
42
+ Stories without JTBD trace are red flags per
43
+ standards/user-story-invest.md.
44
+ -->
45
+
46
+ - **Persona**: [slug] — `docs/personas/[slug].md`
47
+ - **JTBD**: [J-N: job statement] — `docs/design/personas/[persona]/jtbds.md#J-N`
48
+ - **VPC entry** (when present): [PR-N or GC-N] — `docs/value-prop-canvas/[persona].md`
49
+ - **Use-case line** (when /use-case exists): [UC-N step Xa] — `docs/use-cases/[uc-slug].md`
50
+
51
+ ---
52
+
53
+ ## Acceptance criteria
54
+
55
+ <!--
56
+ Each criterion = one test assertion. Concrete, observable,
57
+ threshold-bearing where applicable. NOT "works well" / "is intuitive".
58
+ Cover happy path + at least one edge / non-functional concern.
59
+ -->
60
+
61
+ - [ ] [Observable behavior — written as a test assertion]
62
+ - [ ] [Edge case from CTA decision points or use-case extension]
63
+ - [ ] [Non-functional concern when applicable: performance threshold, accessibility, error handling]
64
+
65
+ ---
66
+
67
+ ## INVEST self-check
68
+
69
+ <!--
70
+ Each letter answered briefly. Validate with /user-stories validate.
71
+ Failing one letter = WARN; failing multiple = FAIL.
72
+ -->
73
+
74
+ - **I** (Independent): [why this story can ship without other stories shipping first]
75
+ - **N** (Negotiable): [what's flexible in implementation vs. what's fixed]
76
+ - **V** (Valuable): [observable value to the named persona — not internal/refactor value]
77
+ - **E** (Estimable): [team can estimate within ~30 min refinement]
78
+ - **S** (Small): [fits in one iteration / sprint — typically 1-5 days]
79
+ - **T** (Testable): [acceptance criteria are concrete, observable, automatable]
80
+
81
+ ---
82
+
83
+ ## Notes
84
+
85
+ <!--
86
+ Optional. Conversation log, open questions, deferred decisions,
87
+ rejection criteria. Stories are conversation tokens — capture the
88
+ conversation here.
89
+ -->
90
+
91
+ - [Open question for refinement]
92
+ - [Deferred decision]
93
+ - [Constraint discovered during discussion]
94
+
95
+ ---
96
+
97
+ ## Splits / dependencies
98
+
99
+ <!--
100
+ Optional. If this story was split from a larger one, name the parent.
101
+ If it has acceptable dependencies (infrastructure already in place),
102
+ surface them.
103
+ -->
104
+
105
+ - **Split from**: US-NNN (if applicable)
106
+ - **Splits to**: [if this is the parent of others]
107
+ - **Acceptable dependencies**: [infrastructure / platform reality — NOT story dependencies]