@thebassclef/lite 0.1.2 → 1.0.0

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 (293) hide show
  1. package/dist/cli.cjs +238 -127
  2. package/dist/cli.js +240 -129
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/lite/.bassclef-source.json +10 -0
  7. package/dist/lite/.claude/settings.json +212 -0
  8. package/dist/lite/CLAUDE.md +41 -0
  9. package/dist/lite/gitignore +58 -0
  10. package/dist/lite/standards/bassclef-wiring-manifest.json +497 -0
  11. package/dist/lite/whereami.md +24 -0
  12. package/package.json +8 -2
  13. package/substrate/.bassclef/lite-manifest.json +0 -2701
  14. package/substrate/.claude/agents/architect.md +0 -70
  15. package/substrate/.claude/agents/builder.md +0 -114
  16. package/substrate/.claude/agents/designer.md +0 -156
  17. package/substrate/.claude/agents/reviewer.md +0 -88
  18. package/substrate/.claude/hooks/artifact-ingestion-gate.sh +0 -357
  19. package/substrate/.claude/hooks/assert-verify-steering.sh +0 -77
  20. package/substrate/.claude/hooks/bassclef-source-config-validate.sh +0 -215
  21. package/substrate/.claude/hooks/bassclef-sync.sh +0 -634
  22. package/substrate/.claude/hooks/compound-noun-scrub.sh +0 -292
  23. package/substrate/.claude/hooks/kiss-expansion-inject.sh +0 -69
  24. package/substrate/.claude/hooks/longrun-prep-compounding-axis-check.sh +0 -492
  25. package/substrate/.claude/hooks/longrun-prep-compounding-sequence-check.sh +0 -492
  26. package/substrate/.claude/hooks/plain-english-steering.sh +0 -156
  27. package/substrate/.claude/hooks/post-skill-friction-check.sh +0 -177
  28. package/substrate/.claude/hooks/post-skill-telemetry.sh +0 -62
  29. package/substrate/.claude/hooks/pre-build-gate.sh +0 -511
  30. package/substrate/.claude/hooks/pre-commit-gate.sh +0 -451
  31. package/substrate/.claude/hooks/session-end.sh +0 -433
  32. package/substrate/.claude/hooks/session-reflection.sh +0 -303
  33. package/substrate/.claude/hooks/skill-body-grade-gate.sh +0 -219
  34. package/substrate/.claude/hooks/skill-body-intent-drift.sh +0 -107
  35. package/substrate/.claude/hooks/skill-step-list-check.sh +0 -171
  36. package/substrate/.claude/hooks/state-validate.sh +0 -271
  37. package/substrate/.claude/hooks/substrate-clarity-gate.sh +0 -1110
  38. package/substrate/.claude/hooks/temperance-gate.sh +0 -147
  39. package/substrate/.claude/hooks/testing-tier-enforce.sh +0 -233
  40. package/substrate/.claude/hooks/turn-prose-grade-measure.sh +0 -219
  41. package/substrate/.claude/hooks/turn-prose-kiss-check.sh +0 -463
  42. package/substrate/.claude/hooks/vocabulary-migration-check.sh +0 -171
  43. package/substrate/.claude/hooks/whereami-utc-gate.sh +0 -142
  44. package/substrate/.claude/luminaries/alan-cooper.md +0 -170
  45. package/substrate/.claude/luminaries/alistair-cockburn.md +0 -140
  46. package/substrate/.claude/luminaries/amazon-pr-faq.md +0 -34
  47. package/substrate/.claude/luminaries/ash-maurya.md +0 -121
  48. package/substrate/.claude/luminaries/bill-buxton.md +0 -210
  49. package/substrate/.claude/luminaries/charles-sanders-peirce.md +0 -150
  50. package/substrate/.claude/luminaries/david-ogilvy.md +0 -192
  51. package/substrate/.claude/luminaries/don-norman.md +0 -173
  52. package/substrate/.claude/luminaries/edward-tufte.md +0 -179
  53. package/substrate/.claude/luminaries/eric-evans.md +0 -160
  54. package/substrate/.claude/luminaries/frederick-brooks.md +0 -50
  55. package/substrate/.claude/luminaries/gang-of-four.md +0 -157
  56. package/substrate/.claude/luminaries/glenford-myers.md +0 -230
  57. package/substrate/.claude/luminaries/hunt-thomas.md +0 -115
  58. package/substrate/.claude/luminaries/hyrum-wright.md +0 -94
  59. package/substrate/.claude/luminaries/jason-fried-dhh.md +0 -46
  60. package/substrate/.claude/luminaries/jesse-james-garrett.md +0 -154
  61. package/substrate/.claude/luminaries/john-ousterhout.md +0 -94
  62. package/substrate/.claude/luminaries/karl-popper.md +0 -132
  63. package/substrate/.claude/luminaries/kent-beck.md +0 -168
  64. package/substrate/.claude/luminaries/linus-torvalds.md +0 -218
  65. package/substrate/.claude/luminaries/martin-fowler.md +0 -164
  66. package/substrate/.claude/luminaries/michael-feathers.md +0 -125
  67. package/substrate/.claude/luminaries/michael-nygard.md +0 -118
  68. package/substrate/.claude/luminaries/robert-c-martin.md +0 -164
  69. package/substrate/.claude/luminaries/saltzer-schroeder.md +0 -194
  70. package/substrate/.claude/luminaries/sophia-prater.md +0 -193
  71. package/substrate/.claude/luminaries/stephen-toulmin.md +0 -131
  72. package/substrate/.claude/luminaries/tony-hoare.md +0 -170
  73. package/substrate/.claude/luminaries/vaughn-vernon.md +0 -50
  74. package/substrate/.claude/luminaries/w-edwards-deming.md +0 -158
  75. package/substrate/.claude/rules/accessor-library-discipline.md +0 -138
  76. package/substrate/.claude/rules/adr-discipline.md +0 -120
  77. package/substrate/.claude/rules/api-conventions.md +0 -125
  78. package/substrate/.claude/rules/artifact-ingestion.md +0 -179
  79. package/substrate/.claude/rules/assert-only-after-verify.md +0 -137
  80. package/substrate/.claude/rules/blocked-items.md +0 -146
  81. package/substrate/.claude/rules/bootstrap-pair-discipline.md +0 -141
  82. package/substrate/.claude/rules/branching.md +0 -28
  83. package/substrate/.claude/rules/cold-adopter-harness-discipline.md +0 -129
  84. package/substrate/.claude/rules/commit-conventions.md +0 -22
  85. package/substrate/.claude/rules/compounding-axis-fresh-analysis.md +0 -188
  86. package/substrate/.claude/rules/compounding-sequence-fresh-analysis.md +0 -188
  87. package/substrate/.claude/rules/context-engineering.md +0 -202
  88. package/substrate/.claude/rules/context-management.md +0 -85
  89. package/substrate/.claude/rules/defensive-bash.md +0 -68
  90. package/substrate/.claude/rules/deferred-actions.md +0 -233
  91. package/substrate/.claude/rules/destructive-operations.md +0 -69
  92. package/substrate/.claude/rules/diagnosis.md +0 -38
  93. package/substrate/.claude/rules/github-issue-flash-tweet.md +0 -156
  94. package/substrate/.claude/rules/guardrails.md +0 -73
  95. package/substrate/.claude/rules/hook-wire-on-author.md +0 -103
  96. package/substrate/.claude/rules/identifier-leak-prevention.md +0 -104
  97. package/substrate/.claude/rules/iteration-bet-brief-completeness.md +0 -54
  98. package/substrate/.claude/rules/lite-manifest-schema-change-discipline.md +0 -98
  99. package/substrate/.claude/rules/longrun-prep-plan-doc-compression.md +0 -89
  100. package/substrate/.claude/rules/loop-discipline.md +0 -81
  101. package/substrate/.claude/rules/manual-prod-approval.md +0 -100
  102. package/substrate/.claude/rules/marker-enrichment-discipline.md +0 -99
  103. package/substrate/.claude/rules/mobile-ephemeral-session.md +0 -109
  104. package/substrate/.claude/rules/new-dependency-check.md +0 -51
  105. package/substrate/.claude/rules/oo-ad-entry-point.md +0 -117
  106. package/substrate/.claude/rules/operator-facing-prose.md +0 -196
  107. package/substrate/.claude/rules/option-label-discipline.md +0 -108
  108. package/substrate/.claude/rules/pattern-annotation.md +0 -100
  109. package/substrate/.claude/rules/plain-english-discipline.md +0 -156
  110. package/substrate/.claude/rules/plan-enumeration-needs-value-props.md +0 -211
  111. package/substrate/.claude/rules/pr-body-shape.md +0 -317
  112. package/substrate/.claude/rules/pr-strategy.md +0 -167
  113. package/substrate/.claude/rules/pr-title-shape.md +0 -161
  114. package/substrate/.claude/rules/prototype-workflow.md +0 -65
  115. package/substrate/.claude/rules/reserved-skill-names.md +0 -123
  116. package/substrate/.claude/rules/schema-management.md +0 -49
  117. package/substrate/.claude/rules/sdlc-gates.md +0 -149
  118. package/substrate/.claude/rules/security.md +0 -37
  119. package/substrate/.claude/rules/session-artifacts.md +0 -236
  120. package/substrate/.claude/rules/skill-composition-declarations.md +0 -124
  121. package/substrate/.claude/rules/skill-description-clarity.md +0 -247
  122. package/substrate/.claude/rules/skill-procedure-step-list.md +0 -137
  123. package/substrate/.claude/rules/state-schema-validation.md +0 -162
  124. package/substrate/.claude/rules/stuck-signal-diagnostic.md +0 -140
  125. package/substrate/.claude/rules/substrate-config-schema.md +0 -98
  126. package/substrate/.claude/rules/test-list-discipline.md +0 -175
  127. package/substrate/.claude/rules/test-sufficiency.md +0 -210
  128. package/substrate/.claude/rules/testing-tier-config.md +0 -145
  129. package/substrate/.claude/rules/testing.md +0 -38
  130. package/substrate/.claude/rules/turn-estimate-grounding.md +0 -134
  131. package/substrate/.claude/rules/visual-hierarchy.md +0 -437
  132. package/substrate/.claude/rules/we-dont-break-adopters.md +0 -126
  133. package/substrate/.claude/rules/whereami-load-bearing.md +0 -202
  134. package/substrate/.claude/rules/writing-craft-discipline.md +0 -92
  135. package/substrate/.claude/rules/wu-sequencing-compounds.md +0 -145
  136. package/substrate/.claude/skills/build/SKILL.md +0 -640
  137. package/substrate/.claude/skills/chronicle/SKILL.md +0 -55
  138. package/substrate/.claude/skills/clean-artifacts/SKILL.md +0 -249
  139. package/substrate/.claude/skills/decompose/SKILL.md +0 -280
  140. package/substrate/.claude/skills/diagnose/SKILL.md +0 -297
  141. package/substrate/.claude/skills/feynman/SKILL.md +0 -90
  142. package/substrate/.claude/skills/howdoi/SKILL.md +0 -105
  143. package/substrate/.claude/skills/ia-model/SKILL.md +0 -108
  144. package/substrate/.claude/skills/interaction-design/SKILL.md +0 -112
  145. package/substrate/.claude/skills/interpret-input/SKILL.md +0 -180
  146. package/substrate/.claude/skills/journal/SKILL.md +0 -209
  147. package/substrate/.claude/skills/kiss/SKILL.md +0 -449
  148. package/substrate/.claude/skills/launch/SKILL.md +0 -915
  149. package/substrate/.claude/skills/lean-canvas/SKILL.md +0 -332
  150. package/substrate/.claude/skills/longrun/SKILL.md +0 -463
  151. package/substrate/.claude/skills/luminary/SKILL.md +0 -481
  152. package/substrate/.claude/skills/ogilvy-writing-audit/SKILL.md +0 -177
  153. package/substrate/.claude/skills/onboard-repo/SKILL.md +0 -1624
  154. package/substrate/.claude/skills/pattern-review/SKILL.md +0 -99
  155. package/substrate/.claude/skills/personas/SKILL.md +0 -207
  156. package/substrate/.claude/skills/promote/SKILL.md +0 -283
  157. package/substrate/.claude/skills/requirement/SKILL.md +0 -98
  158. package/substrate/.claude/skills/retro/SKILL.md +0 -117
  159. package/substrate/.claude/skills/riff/SKILL.md +0 -114
  160. package/substrate/.claude/skills/roadmap-reconcile/SKILL.md +0 -163
  161. package/substrate/.claude/skills/session-end/SKILL.md +0 -309
  162. package/substrate/.claude/skills/session-log/SKILL.md +0 -299
  163. package/substrate/.claude/skills/skills/SKILL.md +0 -228
  164. package/substrate/.claude/skills/spec/SKILL.md +0 -105
  165. package/substrate/.claude/skills/sprint/SKILL.md +0 -392
  166. package/substrate/.claude/skills/stage/SKILL.md +0 -384
  167. package/substrate/.claude/skills/state-a-problem/SKILL.md +0 -185
  168. package/substrate/.claude/skills/temperance/SKILL.md +0 -108
  169. package/substrate/.claude/skills/use-case/SKILL.md +0 -417
  170. package/substrate/.claude/skills/user-stories/SKILL.md +0 -268
  171. package/substrate/.claude/skills/value-prop/SKILL.md +0 -251
  172. package/substrate/.claude/skills/verify/SKILL.md +0 -160
  173. package/substrate/.claude/skills/visual-review/SKILL.md +0 -503
  174. package/substrate/.claude/skills/whats-the-plan/SKILL.md +0 -202
  175. package/substrate/.claude/skills/whereami/SKILL.md +0 -307
  176. package/substrate/AGENTS.md +0 -79
  177. package/substrate/CLAUDE-lite.md +0 -85
  178. package/substrate/CODE_OF_CONDUCT.md +0 -28
  179. package/substrate/CONTRIBUTING.md +0 -177
  180. package/substrate/README.md +0 -173
  181. package/substrate/SECURITY.md +0 -19
  182. package/substrate/architecture/decisions/ADR-029-release-pipeline.md +0 -79
  183. package/substrate/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +0 -139
  184. package/substrate/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +0 -192
  185. package/substrate/architecture/decisions/ADR-039-release-tagging-scheme.md +0 -145
  186. package/substrate/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +0 -155
  187. package/substrate/architecture/decisions/ADR-044-unified-skill-body-template.md +0 -162
  188. package/substrate/lib/clean-artifacts-sweep.sh +0 -112
  189. package/substrate/lib/code-comment-discipline.sh +0 -144
  190. package/substrate/lib/composer-preflight.sh +0 -459
  191. package/substrate/lib/hook-inject.sh +0 -255
  192. package/substrate/lib/luminary-pick.sh +0 -96
  193. package/substrate/lib/output-discipline.sh +0 -143
  194. package/substrate/lib/prose-scan-boundary.sh +0 -171
  195. package/substrate/lib/rewrite-check.sh +0 -214
  196. package/substrate/lib/state.sh +0 -1372
  197. package/substrate/lib/telemetry.sh +0 -205
  198. package/substrate/lib/tier-check.sh +0 -187
  199. package/substrate/lib/tier-dependency-audit.sh +0 -1088
  200. package/substrate/presence/install/bassclef-hook-connect.sh +0 -178
  201. package/substrate/presence/install/bassclef-sync.dispatcher.template.sh +0 -841
  202. package/substrate/presence/install/bassclef-sync.template.sh +0 -2076
  203. package/substrate/presence/install/schedule-auto-save.cron.sh +0 -88
  204. package/substrate/presence/install/schedule-auto-save.taskscheduler.md +0 -122
  205. package/substrate/scripts/aggregate-telemetry.sh +0 -217
  206. package/substrate/scripts/analyze-tier-dependencies.sh +0 -239
  207. package/substrate/scripts/generate-lite-manifest.sh +0 -505
  208. package/substrate/scripts/generate-tier-manifest.sh +0 -28
  209. package/substrate/scripts/intent-drift-check.sh +0 -456
  210. package/substrate/scripts/lite-manifest-drift-check.sh +0 -146
  211. package/substrate/scripts/render-lite-manifest-doc.sh +0 -150
  212. package/substrate/standards/adr-template.md +0 -86
  213. package/substrate/standards/api-conventions/nextjs.md +0 -84
  214. package/substrate/standards/artifact-composition.md +0 -209
  215. package/substrate/standards/bash-hook-safety.md +0 -246
  216. package/substrate/standards/bassclef-configs-schema.md +0 -232
  217. package/substrate/standards/bassclef-evolution.md +0 -143
  218. package/substrate/standards/bassclef-internal-jargon.md +0 -244
  219. package/substrate/standards/bassclef-managed-sentinel.md +0 -96
  220. package/substrate/standards/bassclef-source-config.md +0 -228
  221. package/substrate/standards/branch-stacking.md +0 -408
  222. package/substrate/standards/code-safety-principles.md +0 -176
  223. package/substrate/standards/composer-prerequisites.md +0 -155
  224. package/substrate/standards/deferred-actions-schema.md +0 -204
  225. package/substrate/standards/dependency-discipline/cargo.md +0 -39
  226. package/substrate/standards/dependency-discipline/gem.md +0 -43
  227. package/substrate/standards/dependency-discipline/go-mod.md +0 -41
  228. package/substrate/standards/dependency-discipline/npm.md +0 -42
  229. package/substrate/standards/dependency-discipline/pip.md +0 -42
  230. package/substrate/standards/deployment-topology/ec2-tailscale.md +0 -225
  231. package/substrate/standards/deployment-topology.md +0 -69
  232. package/substrate/standards/docs-sync-allowlist.md +0 -76
  233. package/substrate/standards/domain-and-dns.md +0 -145
  234. package/substrate/standards/frontend-stack.md +0 -67
  235. package/substrate/standards/frontmatter-schema.md +0 -154
  236. package/substrate/standards/graceful-exit.md +0 -227
  237. package/substrate/standards/hook-idempotency.md +0 -102
  238. package/substrate/standards/hook-injection-discipline.md +0 -202
  239. package/substrate/standards/hook-install-class.md +0 -215
  240. package/substrate/standards/input-handler-interface.md +0 -152
  241. package/substrate/standards/lite-manifest-schema-changes.md +0 -135
  242. package/substrate/standards/luminary-matching.md +0 -105
  243. package/substrate/standards/luminary-problem-patterns.md +0 -481
  244. package/substrate/standards/migration-discipline/active-record.md +0 -50
  245. package/substrate/standards/migration-discipline/alembic.md +0 -43
  246. package/substrate/standards/migration-discipline/gorm.md +0 -50
  247. package/substrate/standards/migration-discipline/prisma.md +0 -53
  248. package/substrate/standards/migration-discipline/sqlalchemy.md +0 -51
  249. package/substrate/standards/mobile-ephemeral-session.md +0 -167
  250. package/substrate/standards/model-routing-discipline.md +0 -160
  251. package/substrate/standards/ogilvy-writing-rules.md +0 -225
  252. package/substrate/standards/opener-discipline.md +0 -96
  253. package/substrate/standards/operator-facing-prose-discipline.md +0 -201
  254. package/substrate/standards/persona-schema.md +0 -229
  255. package/substrate/standards/pluggable-luminaries.md +0 -323
  256. package/substrate/standards/pr-body-discipline.md +0 -115
  257. package/substrate/standards/preview-state-schema.md +0 -189
  258. package/substrate/standards/project-directory-layout.md +0 -276
  259. package/substrate/standards/release-tagging.md +0 -137
  260. package/substrate/standards/reserved-skill-names.md +0 -120
  261. package/substrate/standards/scannable-multi-option-output.md +0 -261
  262. package/substrate/standards/sdlc-compliance.md +0 -286
  263. package/substrate/standards/sdlc-gates/typescript.md +0 -57
  264. package/substrate/standards/secrets-lifecycle.md +0 -210
  265. package/substrate/standards/security-scanner-adapter.md +0 -145
  266. package/substrate/standards/session-board.md +0 -256
  267. package/substrate/standards/skill-output-discipline.md +0 -90
  268. package/substrate/standards/state-spine-contract.md +0 -255
  269. package/substrate/standards/state-spine.md +0 -511
  270. package/substrate/standards/steering-hints/kiss-words.md +0 -11
  271. package/substrate/standards/substrate-config-schema.md +0 -267
  272. package/substrate/standards/tech-stack-config.md +0 -109
  273. package/substrate/standards/tier-dependency-analysis.md +0 -167
  274. package/substrate/standards/tier-runtime-deps/lite.md +0 -57
  275. package/substrate/standards/tier-tag-schema.md +0 -155
  276. package/substrate/standards/two-layer-config.md +0 -99
  277. package/substrate/standards/use-case-format.md +0 -292
  278. package/substrate/standards/user-story-invest.md +0 -268
  279. package/substrate/standards/velocity-and-appetite.md +0 -229
  280. package/substrate/standards/voice-input-pattern.md +0 -119
  281. package/substrate/standards/whereami-schema.md +0 -301
  282. package/substrate/standards/worktree-management.md +0 -211
  283. package/substrate/standards/writing-guide.md +0 -213
  284. package/substrate/templates/chronicle-template.md +0 -75
  285. package/substrate/templates/deferred-action-template.md +0 -45
  286. package/substrate/templates/memory-proposal-template.md +0 -77
  287. package/substrate/templates/persona-template.md +0 -200
  288. package/substrate/templates/pr-faq.md +0 -45
  289. package/substrate/templates/secret-rotation-template.md +0 -162
  290. package/substrate/templates/spec-template.md +0 -131
  291. package/substrate/templates/use-case-template.md +0 -194
  292. package/substrate/templates/user-story-template.md +0 -107
  293. package/substrate/templates/whereami-template.md +0 -101
@@ -1,392 +0,0 @@
1
- ---
2
- name: sprint
3
- description: "Show what's in flight and what's next. Reads project state, open issues, and the active goal. Proposes the next sprint at thread level, not just the nearest leaf. Run at session start."
4
- problem: "Session-start orientation takes a full read of git log and whereami and open PRs. Slow."
5
- value: "One glance at what's in flight and what's next and what's blocked. Reads project state once."
6
- inputs: [Optional focus flag]
7
- outputs: [In-flight goals plus PRs, Next-work proposals, Blocked items surfaced]
8
- tier: lite
9
- user_invocable: true
10
- disable_model_invocation: false
11
- modes: [default]
12
- composes_with: [value-prop, kiss, roadmap-reconcile]
13
- ---
14
-
15
- # /sprint
16
-
17
- ## What you get
18
-
19
- A quick session-start view of the project. Where you are and what to do next.
20
-
21
- `/sprint` reads the active goal. It walks the parent-goal thread. It checks the parent roadmap. It lists open issues by tier. It proposes 3-4 shapes with trade-offs.
22
-
23
- You see the whole thread. Not just the nearest open ticket. That saves you from picking the wrong work when thread context is hidden.
24
-
25
- **Tier gate (bassclef#740 Task 1.8).** `/roadmap-reconcile` ships at `tier: standard`. Lite adopters skip the reconcile dispatch at Step 6.5. Print: "/roadmap-reconcile requires bassclef standard. Skipping drift check." Resolve tier via `lib/tier-check.sh`.
26
-
27
- ## When to use it
28
-
29
- Type `/sprint` at the start of any session where you need to re-orient. Also after a long break. Also after a compaction. Also when you finish a goal and want a next-work menu.
30
-
31
- `/sprint` is read-only. It never edits files or opens issues. When you want to start work, `/sprint` points you at `/autonomous start` or `/longrun prep`.
32
-
33
- ## When NOT to use
34
-
35
- Do not use `/sprint` to dispatch work. That is `/autonomous start` or `/longrun prep`. Do not use it to modify state. It is read-only. Do not use it mid-session when the goal is already active. Use `/whereami` for a quick check. Do not use it to reconcile the roadmap. That is `/roadmap-reconcile`.
36
-
37
- ## FAQ
38
-
39
- ### Why walk the parent-goal thread?
40
-
41
- The active goal has a parent_bet. That parent has its own parent_drivers. A phase may have paused steps, open audit-drop tickets, and sibling goals feeding it.
42
-
43
- Picking the nearest open ticket without reading the thread hides that context. `/sprint` walks up first. Active goal. Parent_bet. Parent_roadmap. Parent_drivers. Then it proposes.
44
-
45
- ### What are the orientation gates and when do they refuse to render?
46
-
47
- Two session-start hooks fire on feature branches:
48
-
49
- - `state/markers/orientation-gate/<branch-slug>.marker` — confirms the agent read the active goal's parent_drivers. Plus parent_bet. Plus open bassclef-evolution issues.
50
- - `state/markers/roadmap-reconcile-gate/<branch-slug>.marker` — confirms `/roadmap-reconcile --dry-run` ran. Either no drift, or drift resolved, or explicitly deferred.
51
-
52
- When either marker is missing on the current feature branch, `/sprint` refuses to render Step 7 (the proposal). Emit a one-line note pointing at the BLOCKED block. Offer two paths — resolve, or defer per `.claude/rules/blocked-items.md`. Silence is not deferral. On main this step is silent.
53
-
54
- ### What do the tiers mean in the open-issues list?
55
-
56
- - **Tier 1 — Paused steps in the active thread.** The active goal's open acceptance items. Plus the parent goal's open acceptance.
57
- - **Tier 2 — Audit-drop tickets cited in the thread's parent_drivers.** The upstream clusters this thread is meant to resolve.
58
- - **Tier 3 — New tickets that match thread scope.** Filed after the goal opened but not yet absorbed.
59
- - **Tier 4 — Strategic.** Larger scope, next cycle, deliberately deferred.
60
-
61
- Tier order reflects the thread, not the label. A bare issue number without a one-line description is an ID, not an option.
62
-
63
- ### What columns does the proposed options table carry?
64
-
65
- <!-- FKGL-EXEMPT: column-catalog enumeration; each parenthetical names the axis pair -->
66
- At minimum: `Option`, `Scope`, `Compounds` (where the payoff shows up plus how often it fires), `Adopter benefit` (mechanism plus visibility), `Risk`, `Trade-off`.
67
- <!-- /FKGL-EXEMPT -->
68
-
69
- Option names are typeable letters — a, b, c, d. The recommendation is one sentence at the end. It cites the compounding sequence plus risk class.
70
-
71
- ### What if the release pipeline is stuck?
72
-
73
- On bassclef-upstream sessions only, `/sprint` calls the release status accessor. It surfaces the result before proposing next work. A stuck release PR is higher priority than fresh scope.
74
-
75
- Rules:
76
-
77
- - No open release PR plus no commits ahead — silent.
78
- - No open PR plus commits ahead — one line: "Substrate is N commits ahead of public. Run /release --supersede when ready."
79
- - Open PR younger than 24 hours plus green CI — one line: "Release PR #N is fresh. Merge when reviewed."
80
- - Open PR younger than 24 hours plus red CI — Tier 1 candidate: "Release PR #N CI is red. Diagnose before merging."
81
- - Open PR older than 24 hours — Tier 1 candidate at the top of the list.
82
-
83
- Adopter sessions skip this call entirely.
84
-
85
- ### What are the rules for the shape proposal?
86
-
87
- Every option carries a value-prop per `.claude/rules/plan-enumeration-needs-value-props.md`. Bare issue numbers are IDs. Not options.
88
-
89
- <!-- FKGL-EXEMPT: procedure-spec cross-reference block naming axes + memory slugs -->
90
- Compounding sequence analysis per option carries five axes. Where the payoff shows up. How often it fires. What must be true first. Does it teach a shape later work reuses. What breaks if half-done. Per `/longrun prep` Step 1.5.
91
-
92
- Adopter benefit analysis carries three axes per Step 1.6. Mechanism. Visibility. Action.
93
-
94
- Option labels are typeable letters per memory `feedback_keyboard_typeable_options`.
95
- <!-- /FKGL-EXEMPT -->
96
-
97
- ## Details below the fold
98
-
99
- ### Procedure
100
-
101
- **Step 0** — Lead with a `/value-prop tweet` claim (≤180 chars) plus a `/kiss words` grade-10 summary (2-3 sentences). This is what the operator reads first on mobile. Tables come after.
102
-
103
- **Step 1** — Orientation gates. Check `state/markers/orientation-gate/<branch-slug>.marker`. Check `state/markers/roadmap-reconcile-gate/<branch-slug>.marker`. When either is missing on a feature branch, refuse Step 7. Point at the BLOCKED block. On main this step is silent.
104
-
105
- **Step 2** — Walk the parent chain before reading leaf state. Read the active goal's parent_drivers via `state_iteration_bet_active`. Walk up to parent_bet when present. Walk further until parent_goal is null. Read parent_roadmap when any goal in the chain has one. Fetch its `last_event` and `next_pending` via `state_roadmap_get`. Surface active goal plus parent goal plus parent roadmap plus combined parent_drivers.
106
-
107
- **Step 3** — Read project state via `bash scripts/state.sh get whereami` (spine v0). Falls back to `docs/whereami.md` on pre-spine repos. Extract phase. Active goal. Active agents. Subsystem phases. Gate progress. When a whereami staleness BLOCKED fired, resolve it before continuing. Do not reconstruct state from session logs plus git log. That is the anti-pattern the rule closes.
108
-
109
- **Step 3.5** — Release pipeline status (bassclef-upstream only). Source `lib/state.sh`. Call `state_whereami_release_status`. Surface per the rules in the FAQ above. Skip on adopter sessions.
110
-
111
- **Step 4** — Read the current goal detail. Follow the `iteration_bet:` path from whereami. Show goal name. Phase. Subsystem. Primary luminary. Time budget remaining (steps you spend at your current pace before cutting scope). Status. Open acceptance criteria (Tier 1 candidates). Items marked out of scope. When whereami says "none — between iterations", suggest `/autonomous start` or the `next_bet` field. When the repo is fully cold, route to Step 7d instead. A fully cold repo has no active goal. It has no `next_bet`. It has no canvas. It has no roadmap.
112
-
113
- **Note on time budget:** the number is calibrated to your working pace with your current LLM setup. Bassclef bets file 40-800 steps depending on scope shape. Past goal actuals ground the estimate per `.claude/rules/turn-estimate-grounding.md`.
114
-
115
- **Note on shape labels:** the shape labels (a, b, c, d) are typeable letters so you can pick from your phone. Greek and emoji labels are refused per memory `feedback_keyboard_typeable_options`.
116
-
117
- **Step 5** — Show open issues by tier. Read `gh issue list --state open --json number,title,labels --limit 30`. Plus any sibling repos listed in `substrate.config.md` under `bassclef_evolution_child_repos`. Present in the four tiers above. Each row: `#NNNN — title — one-line description`. A bare number without description is an ID. Not an option.
118
-
119
- **Step 6** — Session context. Commits since last session log. Stale artifacts (session logs, journal entries, architect reviews). Whereami `last_updated` age (surface when older than 3 days but not yet BLOCKED).
120
-
121
- **Step 6.5** — Complete lookback. List every open item before you propose shapes. `parent_drivers` names what the parent knew. This step names what is open now. Parity with `/longrun` Step 0.65 per bassclef-upstream#812.
122
-
123
- Cover each class:
124
-
125
- - Every ticket named in whereami recap sections. The `operator_recap` and `prior_operator_recap` blocks list them by number.
126
- - Every entry from a grade audit that reads above the ceiling.
127
- - Every deferred, paused, or stuck item from a prior recap.
128
- - Every canvas at `docs/canvases/` and curation doc at `docs/curation/`.
129
- - Every consultation output at `docs/operator-private/consultations/` tied to open threads.
130
- - Chained skills that lite skills dispatch. Read tier tags of skills the active goal calls. Lite work needs to know which chained skills need inlining or tagging.
131
-
132
- Silence on any class is not deferral. Enumerate the items or state which classes are out of scope this session and why.
133
-
134
- **Step 6.6** — Read active canvases. List `docs/canvases/*.md`. For each canvas whose frontmatter carries `verification_status: draft` or `accepted`, Read the full body before proposing shapes. Cite the canvas file path plus the Q number that informs each shape. Whereami recap is a summary. Read the canvas file for the source. Closes bassclef-upstream#813.
135
-
136
- **Step 7** — Propose next sprint. Present 3-4 options in card + scan-table shape (parity with `/longrun prep` Steps 1.4e + 1.5-1.7). Full spec at `standards/scannable-multi-option-output.md`.
137
-
138
- **Step 7a** — Section-anchor rule (Norman + Garrett). Every block ships under a distinct `###` header. One anchor per concern. Between top-level anchors, use at least 2 blank lines OR a horizontal rule.
139
-
140
- **Step 7b** — Delta rendering. When operator asks for a refinement, render ONLY the delta. Cite the source anchor by name.
141
-
142
- **Step 7c** — Card + scan-table shape (per goal 24e; Tufte + Prater). Output has three parts. First, a compact scan-table (`### Compare options` — columns `Option`, `Scope`, `Turns`, `Compounds`, `Risk`; glyphs 🟢/🟡/🔴 encode risk). Second, one card per option (`### <label> · <scope> · <turns> · <risk>` with **Problem** + **Value** + **Compounds** + **Adopter**). Third, step cards for the recommended option only (progressive disclosure). See `standards/scannable-multi-option-output.md`.
143
-
144
- <!-- FKGL-EXEMPT: column-catalog + step-refusal rule enumeration -->
145
- Table minimum columns: `Option`, `Scope`, `Compounds`, `Adopter benefit`, `Risk`, `Trade-off`. Option labels are typeable letters. Recommendation at the end: one sentence citing compounding sequence plus risk class. Refuse this step when Step 1 gates are open.
146
- <!-- /FKGL-EXEMPT -->
147
-
148
- **Step 7d** — Brownfield fallback (per bassclef-web#93). Fires when the repo is cold — turn-1 for a new adopter who has not authored strategic docs yet. Trigger condition:
149
-
150
- - Whereami has no `iteration_bet` field AND no `next_bet` field, AND
151
- - `docs/canvases/` is empty or missing, AND
152
- - `docs/roadmaps/` is empty or missing
153
-
154
- In this state, the parent-goal walk at Step 2 finds no thread. The active-goal read at Step 4 returns "between goals". The normal `/sprint` proposal has nothing to build on.
155
-
156
- Instead of refusing to render, `/sprint` reads three fallback sources:
157
-
158
- - `gh issue list --state open --limit 20` — the open work the operator has already filed
159
- - `git log --oneline -20` — recent commits that signal current focus
160
- - `README.md` first section — the repo's own self-description
161
-
162
- From these sources, propose 3 candidate options in the same card + scan-table shape (Step 7c). Cite the source per option — for example, "From your open issues #NNN + recent commits on `<area>`". The value-prop per option comes from what the source itself says, not from a strategic doc.
163
-
164
- End with a plain-English hint pointing the adopter at ways to sharpen future runs:
165
-
166
- > Want sharper option proposals next time? Author strategic docs first — `/lean-canvas` (business model), `/spec` (buildable spec), or `/user-stories` (INVEST backlog). These feed `/sprint` on future calls.
167
-
168
- The fallback is opt-in on the hint side. The adopter does NOT need to author strategic docs to get value from this call. This mirrors `/onboard-repo` Path B "greenfield-from-intent" — the skill produces useful output on its first fire, and hints at deeper flows without gating on them.
169
-
170
- Note per risk ledger R2: production fixture harness for this fallback path uses a brownfield fixture (no canvas, no whereami) so the fallback runs under test. Adding that fixture ships as a follow-on when the fallback surface gets its first Tier 0 test.
171
-
172
- ### Self-check step — before posting the sprint proposal
173
-
174
- Before posting Step 7, I:
175
-
176
- 1. Touch `state/markers/turn-prose-surface/sprint_proposal.marker`.
177
- <!-- FKGL-EXEMPT: two-flag description — reference sentence -->
178
- 2. Dispatch `/kiss words --rewrite` on the full draft. Every part passes. Not just the opener. Actual skill call. The two-flag form runs vocabulary substitution AND six heuristic checks. The skill reads `standards/bassclef-internal-jargon.md` per bassclef#907.
179
- <!-- /FKGL-EXEMPT -->
180
- 3. Apply the rewrite. Accept the pass when /kiss returns no changes.
181
- 4. Cite the dispatched skill inline per `.claude/rules/operator-facing-prose.md` Rule 3.
182
- 5. Post the response.
183
-
184
- The Stop hook `.claude/hooks/turn-prose-kiss-check.sh` reads the marker. It runs strict mode for the sprint_proposal surface. This self-check catches misses before you read. The full-draft dispatch closes bassclef-upstream#858. Prior shape called /kiss at the opener only.
185
-
186
- ### Output format
187
-
188
- ```
189
- ## Sprint status
190
-
191
- [Flash — what the last goal delivered, ≤180 chars, plain language]
192
-
193
- [Kiss summary — 2-3 sentences, grade-10 vocabulary]
194
-
195
- ---
196
-
197
- ### Thread context
198
-
199
- Active goal: [slug] — [status]
200
- Parent goal: [slug or "none"] — [status]
201
- Parent roadmap: [title or "none"] — last event: [event]
202
- Parent drivers: [N items]
203
-
204
- ### Release pipeline (bassclef-upstream only)
205
-
206
- [One line per Step 3.5 rules; silent on adopter sessions or clean state]
207
-
208
- ### Active goal detail
209
-
210
- [name] — [status]
211
- Phase: [phase] | Subsystem: [subsystem]
212
- Primary luminary: [name or "none"]
213
- Time budget: [remaining] of [total]
214
- Acceptance open: [N items]
215
-
216
- ### Open issues by tier
217
-
218
- **Tier 1 — Paused steps in active thread (N)**
219
- - #NNNN — title — one-line description
220
-
221
- **Tier 2 — Audit-drops in thread (N)**
222
- - #NNNN — title — one-line description
223
-
224
- **Tier 3 — New in thread scope (N)**
225
- - #NNNN — title — one-line description
226
-
227
- **Tier 4 — Strategic (N)**
228
- - #NNNN — title — one-line description
229
-
230
- ### Proposed shapes
231
-
232
- [Table with shape / scope / compounds / adopter benefit / risk / trade-off]
233
-
234
- My recommendation: [one sentence citing compounding + risk].
235
-
236
- ### Session context
237
-
238
- Last session log: YYYY-MM-DD (N commits since)
239
- Stale artifacts: [list or "none"]
240
- ```
241
-
242
- ### Rules
243
-
244
- - Read-only. Never modify files or open issues.
245
- - Always check GitHub for current issue state. Do not rely on memory.
246
- - Tier classification is by thread role. Not by label.
247
- - When the operator wants to start the proposed sprint, suggest `/autonomous start` or `/longrun prep`.
248
- - Options carry a value-prop per `.claude/rules/plan-enumeration-needs-value-props.md`. Bare issue numbers are IDs. Not options.
249
- - Orientation gates refuse to render Step 7. Direct the operator to resolve the BLOCKED block from the session-start hook first.
250
- - SKILL body edits carry a `/kiss` pass on the whole file per `.claude/rules/operator-facing-prose.md` Rule 2.
251
-
252
- ### Grace window on old vocabulary
253
-
254
- Old vocabulary — `bet`, `appetite`, `WU`, `parent bet`, `arc`, `chronicle` — still works through 2026-10-31 per ADR-031 and `.claude/rules/we-dont-break-adopters.md`. The old `/chronicle` skill name still resolves alongside `/session-log`.
255
-
256
- Adopters mid-flight who read prior session logs see the old vocabulary. A mapping table at `standards/bassclef-internal-jargon.md` documents the old to new pairs. Both terms mean the same thing during the grace window.
257
-
258
- ### Common failure modes and how /sprint handles them
259
-
260
- - **Whereami is stale.** Session-start hook surfaces BLOCKED. `/sprint` resolves before Step 7, or the operator defers explicitly.
261
- - **No active goal.** Whereami says "none — between iterations". `/sprint` suggests `/autonomous start` or reads the `next_bet` field.
262
- - **Cold brownfield repo (turn-1 adopter).** Whereami has no active goal AND no canvas AND no roadmap. Step 7d fires. `/sprint` proposes 3 shapes from open issues + git log + README, plus a hint pointing at `/lean-canvas` and `/spec` for future runs.
263
- - **Orientation gates missing.** Step 1 refuses to render Step 7. Operator resolves or defers per `.claude/rules/blocked-items.md`.
264
- - **Release pipeline stuck.** Step 3.5 flags a stuck PR as Tier 1 candidate before other work.
265
-
266
- ### What /sprint does NOT do
267
-
268
- - `/sprint` never modifies files.
269
- - `/sprint` never opens or closes GitHub issues.
270
- - `/sprint` never dispatches a `/longrun` on its own. It points you at `/autonomous start` or `/longrun prep` when you want to start work.
271
- - `/sprint` is not a substitute for `/whereami`. Whereami is a snapshot at a moment. `/sprint` is a menu for the next move.
272
- - `/sprint` does not read from memory or session summaries. Every fresh call reads the current state from disk and GitHub.
273
-
274
- ## Examples
275
-
276
- <!-- FKGL-EXEMPT: sample /sprint output -->
277
-
278
- ```
279
- === /sprint ===
280
- Thread: goal 2026-07-19k Shape e (parent: 19j ADR-044)
281
- Active goal: WU-7 /sprint refactor
282
- Release pipeline: 4 PRs open (#807-#810), no stuck cures
283
-
284
- Open issues by tier:
285
- Tier 1 (must fix): #800 FKGL-EXEMPT, #799 ADR-044 gate — both shipped
286
- Tier 2 (should fix): #795 auto-regen baselines
287
- Tier 3 (nice to have): #804 vocab-registry hooks
288
-
289
- Proposed shapes:
290
- a. Continue Wave 1 (/longrun deferred)
291
- b. Switch to /session-end + closeout
292
- c. Start #795 auto-regen mechanism
293
- ```
294
-
295
- <!-- /FKGL-EXEMPT -->
296
-
297
- ## Anti-patterns and INSTEAD
298
-
299
- | Anti-pattern | INSTEAD |
300
- |---|---|
301
- | Read only the active goal without walking the thread | Walk parent-goal until root; the thread carries context the leaf loses |
302
- | Skip roadmap-reconcile check before proposing | Run reconcile first; drift changes what "next" means |
303
- | Propose scope without a value prop per shape | Each shape carries a claim + sharpener per plan-enumeration rule |
304
- | Ship a proposal without release pipeline status | Stuck cures block downstream work; surface them first |
305
- | Present bare ticket numbers as options | Options need a value prop; bare numbers are labels, not choices |
306
-
307
- ## Composes with — cluster shape
308
-
309
- `/sprint` sits at the center of a small cluster. Skills around it feed in, close out, or fire mid-verb as helpers.
310
-
311
- **Upstream — feed the verb:**
312
-
313
- - `/whereami` — reads project state that `/sprint` orients against
314
-
315
- **Downstream — where the picked shape goes:**
316
-
317
- - `/longrun prep` — the multi-goal dispatch target
318
- - `/autonomous start` — the dispatch target when operator picks a single-goal shape
319
-
320
- **Helpers — fire mid-verb:**
321
-
322
- - `/roadmap-reconcile` — dry-run at Step 0.5
323
- - `/value-prop` — flash claim per shape
324
- - `/kiss` — applied to proposal prose before post
325
-
326
- The verb is porcelain (Git's word for a small user-typed command). Sam or Louis types `/sprint` and the cluster runs itself.
327
-
328
- ## Distinct from
329
-
330
- - `/whereami` — one-glance state snapshot. `/sprint` is scope proposal + shapes.
331
- - `/whats-the-plan` — dispatch-path plan for the current task. `/sprint` proposes what's next.
332
- - `/longrun prep` — starts a long autonomous run. `/sprint` shows what to run.
333
- - `/roadmap-reconcile` — reconciles drift. `/sprint` reads reconciled state.
334
-
335
- ## Rules
336
-
337
- - Do not propose shapes without value props. INSTEAD, each shape carries claim + sharpener.
338
- - Do not skip the parent-goal thread walk. INSTEAD, walk recursively to root.
339
- - Do not skip the release pipeline status check on bassclef-upstream. INSTEAD, surface stuck cures.
340
- - Always run `/roadmap-reconcile --dry-run` before proposing shapes.
341
- - Always render open issues by tier, not by number.
342
-
343
- ## Test cases
344
-
345
- <!-- FKGL-EXEMPT: structured test spec -->
346
- | ID | Prompt | Expected behavior |
347
- |---|---|---|
348
- | T1 | `/sprint` at session start on a feature branch | Thread walk + active goal + open issues + 3-4 shapes with value props |
349
- | T2 | `/sprint` when no active goal | Report "between goals"; propose candidate goals from open issues |
350
- | T3 | `/sprint` when release pipeline has stuck cures | Surface stuck cures at top of the proposal |
351
- | T4 | `/sprint` when roadmap-reconcile detects drift | Surface drift diff; wait for acknowledgement before proposing shapes |
352
- | T5 | `/sprint` mid-session with active goal | Return quick check; recommend `/whereami` instead of full proposal |
353
- | T6 | `/sprint` on cold brownfield repo (no goal, no canvas, no roadmap) | Step 7d fires; 3 shapes proposed from open issues + git log + README; hint at `/lean-canvas` and `/spec` for future runs |
354
- <!-- /FKGL-EXEMPT -->
355
-
356
- ## Sources read
357
-
358
- <!-- FKGL-EXEMPT: reference list -->
359
- ### Sources list
360
-
361
- - ADR-040 planning-skill vocabulary and lite profile
362
- - `.claude/rules/plain-english-discipline.md`
363
- - `.claude/rules/we-dont-break-adopters.md`
364
- - `.claude/rules/plan-enumeration-needs-value-props.md`
365
- - `.claude/rules/blocked-items.md`
366
- - `.claude/rules/whereami-load-bearing.md`
367
- - `.claude/rules/accessor-library-discipline.md`
368
- - `.claude/rules/operator-facing-prose.md`
369
- - `standards/bassclef-internal-jargon.md`
370
- - `docs/iteration-bets/2026-06-20a-longrun-sprint-orientation-cure.md`
371
- - `.claude/hooks/session-reflection.d/55-orientation-gate.sh`
372
- - `.claude/hooks/session-reflection.d/56-roadmap-reconcile-gate.sh`
373
- - `.claude/skills/roadmap-reconcile/SKILL.md`
374
- - `.claude/skills/longrun/SKILL.md`
375
- - `.claude/luminaries/don-norman.md` — signifiers + mapping + feedback lens for Steps 7a + 7b (per bassclef-upstream#853)
376
- - `.claude/luminaries/jesse-james-garrett.md` — five planes lens for section-anchor discipline
377
- - `.claude/luminaries/sophia-prater.md` — OOUX + progressive disclosure lens for Step 7c card format
378
- - `.claude/luminaries/edward-tufte.md` — data-ink + glyph-encodes-data lens for scan-table
379
- - `docs/personas/sam.md` — primary reader (15-30 min budget; bounces on friction)
380
- - `docs/personas/2026-07-12-bet11c-louis.md` — secondary reader (skims group headings first)
381
- - `standards/scannable-multi-option-output.md` — full 12 principles + card template + glyph legend
382
- - bassclef-upstream#853 — parent ticket for the anchor + delta rules
383
- - bassclef-upstream#830 — Shape to Option rename (applied to lines 61 + 63 + 87 + 130 of this file)
384
- - bassclef-web#93 — Step 7d fallback for cold brownfield repos
385
- - `.claude/skills/onboard-repo/SKILL.md` — Path B precedent for skills that work without prior artifacts
386
- <!-- /FKGL-EXEMPT -->
387
-
388
- ## Why this skill exists
389
-
390
- <!-- FKGL-EXEMPT: rationale prose -->
391
- Session start without orientation costs 20-40 turns per re-entry. Operators pick the nearest open ticket without thread context. That leads to work that turns out to be blocked or superseded. `/sprint` walks the parent-goal thread, checks release pipeline status, reads reconciled roadmap, and lists open issues by tier. The proposed shapes carry value props per option. Without `/sprint`, session start is archaeology.
392
- <!-- /FKGL-EXEMPT -->