@thebassclef/lite 1.0.3 → 1.1.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 (275) hide show
  1. package/dist/cli.cjs +92 -6
  2. package/dist/cli.js +92 -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/dist/lite/.claude/agents/architect.md +70 -0
  7. package/dist/lite/.claude/agents/builder.md +114 -0
  8. package/dist/lite/.claude/agents/designer.md +156 -0
  9. package/dist/lite/.claude/agents/reviewer.md +88 -0
  10. package/dist/lite/.claude/hooks/bassclef-sync.sh +85 -27
  11. package/dist/lite/.claude/hooks/longrun-prep-compounding-axis-check.sh +492 -0
  12. package/dist/lite/.claude/hooks/longrun-prep-render-check.sh +236 -0
  13. package/dist/lite/.claude/hooks/persona-name-scrub-check.sh +105 -0
  14. package/dist/lite/.claude/hooks/skill-step-list-check.sh +171 -0
  15. package/dist/lite/.claude/luminaries/alan-cooper.md +170 -0
  16. package/dist/lite/.claude/luminaries/alistair-cockburn.md +140 -0
  17. package/dist/lite/.claude/luminaries/amazon-pr-faq.md +34 -0
  18. package/dist/lite/.claude/luminaries/andreas-zeller.md +74 -0
  19. package/dist/lite/.claude/luminaries/ash-maurya.md +121 -0
  20. package/dist/lite/.claude/luminaries/bill-buxton.md +210 -0
  21. package/dist/lite/.claude/luminaries/charles-sanders-peirce.md +150 -0
  22. package/dist/lite/.claude/luminaries/david-ogilvy.md +192 -0
  23. package/dist/lite/.claude/luminaries/don-norman.md +173 -0
  24. package/dist/lite/.claude/luminaries/edward-tufte.md +179 -0
  25. package/dist/lite/.claude/luminaries/eric-evans.md +160 -0
  26. package/dist/lite/.claude/luminaries/frederick-brooks.md +50 -0
  27. package/dist/lite/.claude/luminaries/gang-of-four.md +157 -0
  28. package/dist/lite/.claude/luminaries/glenford-myers.md +230 -0
  29. package/dist/lite/.claude/luminaries/hunt-thomas.md +115 -0
  30. package/dist/lite/.claude/luminaries/hyrum-wright.md +94 -0
  31. package/dist/lite/.claude/luminaries/jason-fried-dhh.md +46 -0
  32. package/dist/lite/.claude/luminaries/jesse-james-garrett.md +154 -0
  33. package/dist/lite/.claude/luminaries/john-ousterhout.md +94 -0
  34. package/dist/lite/.claude/luminaries/karl-popper.md +132 -0
  35. package/dist/lite/.claude/luminaries/kent-beck.md +168 -0
  36. package/dist/lite/.claude/luminaries/linus-torvalds.md +218 -0
  37. package/dist/lite/.claude/luminaries/martin-fowler.md +164 -0
  38. package/dist/lite/.claude/luminaries/michael-feathers.md +125 -0
  39. package/dist/lite/.claude/luminaries/michael-nygard.md +118 -0
  40. package/dist/lite/.claude/luminaries/robert-c-martin.md +164 -0
  41. package/dist/lite/.claude/luminaries/saltzer-schroeder.md +194 -0
  42. package/dist/lite/.claude/luminaries/sophia-prater.md +193 -0
  43. package/dist/lite/.claude/luminaries/stephen-toulmin.md +131 -0
  44. package/dist/lite/.claude/luminaries/tony-hoare.md +170 -0
  45. package/dist/lite/.claude/luminaries/vaughn-vernon.md +50 -0
  46. package/dist/lite/.claude/luminaries/w-edwards-deming.md +158 -0
  47. package/dist/lite/.claude/rules/accessor-library-discipline.md +110 -0
  48. package/dist/lite/.claude/rules/adr-discipline.md +96 -0
  49. package/dist/lite/.claude/rules/api-conventions.md +115 -0
  50. package/dist/lite/.claude/rules/artifact-ingestion.md +137 -0
  51. package/dist/lite/.claude/rules/assert-only-after-verify.md +111 -0
  52. package/dist/lite/.claude/rules/blocked-items.md +139 -0
  53. package/dist/lite/.claude/rules/bootstrap-pair-discipline.md +106 -0
  54. package/dist/lite/.claude/rules/branching.md +28 -0
  55. package/dist/lite/.claude/rules/cold-adopter-harness-discipline.md +93 -0
  56. package/dist/lite/.claude/rules/commit-conventions.md +22 -0
  57. package/dist/lite/.claude/rules/compounding-axis-fresh-analysis.md +173 -0
  58. package/dist/lite/.claude/rules/compounding-sequence-fresh-analysis.md +173 -0
  59. package/dist/lite/.claude/rules/context-engineering.md +155 -0
  60. package/dist/lite/.claude/rules/context-management.md +85 -0
  61. package/dist/lite/.claude/rules/defensive-bash.md +52 -0
  62. package/dist/lite/.claude/rules/deferred-actions.md +233 -0
  63. package/dist/lite/.claude/rules/destructive-operations.md +69 -0
  64. package/dist/lite/.claude/rules/diagnosis.md +38 -0
  65. package/dist/lite/.claude/rules/github-issue-flash-tweet.md +114 -0
  66. package/dist/lite/.claude/rules/guardrails.md +73 -0
  67. package/dist/lite/.claude/rules/hook-wire-on-author.md +77 -0
  68. package/dist/lite/.claude/rules/identifier-leak-prevention.md +73 -0
  69. package/dist/lite/.claude/rules/iteration-bet-brief-completeness.md +43 -0
  70. package/dist/lite/.claude/rules/lite-manifest-schema-change-discipline.md +79 -0
  71. package/dist/lite/.claude/rules/longrun-prep-plan-doc-compression.md +77 -0
  72. package/dist/lite/.claude/rules/loop-discipline.md +71 -0
  73. package/dist/lite/.claude/rules/manual-prod-approval.md +100 -0
  74. package/dist/lite/.claude/rules/marker-enrichment-discipline.md +72 -0
  75. package/dist/lite/.claude/rules/mobile-ephemeral-session.md +109 -0
  76. package/dist/lite/.claude/rules/new-dependency-check.md +44 -0
  77. package/dist/lite/.claude/rules/oo-ad-entry-point.md +95 -0
  78. package/dist/lite/.claude/rules/operator-facing-prose.md +177 -0
  79. package/dist/lite/.claude/rules/option-label-discipline.md +82 -0
  80. package/dist/lite/.claude/rules/pattern-annotation.md +83 -0
  81. package/dist/lite/.claude/rules/persona-name-leak-scrub.md +90 -0
  82. package/dist/lite/.claude/rules/plain-english-discipline.md +132 -0
  83. package/dist/lite/.claude/rules/plan-enumeration-needs-value-props.md +177 -0
  84. package/dist/lite/.claude/rules/pr-body-shape.md +195 -0
  85. package/dist/lite/.claude/rules/pr-strategy.md +142 -0
  86. package/dist/lite/.claude/rules/pr-title-shape.md +90 -0
  87. package/dist/lite/.claude/rules/prototype-workflow.md +53 -0
  88. package/dist/lite/.claude/rules/reserved-skill-names.md +103 -0
  89. package/dist/lite/.claude/rules/schema-management.md +42 -0
  90. package/dist/lite/.claude/rules/sdlc-gates.md +149 -0
  91. package/dist/lite/.claude/rules/security.md +37 -0
  92. package/dist/lite/.claude/rules/session-artifacts.md +236 -0
  93. package/dist/lite/.claude/rules/skill-composition-declarations.md +105 -0
  94. package/dist/lite/.claude/rules/skill-description-clarity.md +196 -0
  95. package/dist/lite/.claude/rules/skill-procedure-step-list.md +119 -0
  96. package/dist/lite/.claude/rules/sprint-prep-preset-picker.md +76 -0
  97. package/dist/lite/.claude/rules/state-schema-validation.md +156 -0
  98. package/dist/lite/.claude/rules/stuck-signal-diagnostic.md +111 -0
  99. package/dist/lite/.claude/rules/substrate-config-schema.md +85 -0
  100. package/dist/lite/.claude/rules/test-list-discipline.md +129 -0
  101. package/dist/lite/.claude/rules/test-sufficiency.md +186 -0
  102. package/dist/lite/.claude/rules/testing-tier-config.md +125 -0
  103. package/dist/lite/.claude/rules/testing.md +38 -0
  104. package/dist/lite/.claude/rules/turn-estimate-grounding.md +82 -0
  105. package/dist/lite/.claude/rules/visual-hierarchy.md +427 -0
  106. package/dist/lite/.claude/rules/we-dont-break-adopters.md +103 -0
  107. package/dist/lite/.claude/rules/whereami-load-bearing.md +184 -0
  108. package/dist/lite/.claude/rules/writing-craft-discipline.md +72 -0
  109. package/dist/lite/.claude/rules/wu-sequencing-compounds.md +119 -0
  110. package/dist/lite/.claude/skills/build/SKILL.md +640 -0
  111. package/dist/lite/.claude/skills/chronicle/SKILL.md +55 -0
  112. package/dist/lite/.claude/skills/clean-artifacts/SKILL.md +249 -0
  113. package/dist/lite/.claude/skills/decompose/SKILL.md +280 -0
  114. package/dist/lite/.claude/skills/diagnose/SKILL.md +297 -0
  115. package/dist/lite/.claude/skills/feynman/SKILL.md +90 -0
  116. package/dist/lite/.claude/skills/howdoi/SKILL.md +105 -0
  117. package/dist/lite/.claude/skills/ia-model/SKILL.md +108 -0
  118. package/dist/lite/.claude/skills/interaction-design/SKILL.md +112 -0
  119. package/dist/lite/.claude/skills/interpret-input/SKILL.md +180 -0
  120. package/dist/lite/.claude/skills/journal/SKILL.md +209 -0
  121. package/dist/lite/.claude/skills/kiss/SKILL.md +449 -0
  122. package/dist/lite/.claude/skills/launch/SKILL.md +915 -0
  123. package/dist/lite/.claude/skills/lean-canvas/SKILL.md +332 -0
  124. package/dist/lite/.claude/skills/longrun/SKILL.md +512 -0
  125. package/dist/lite/.claude/skills/luminary/SKILL.md +481 -0
  126. package/dist/lite/.claude/skills/ogilvy-writing-audit/SKILL.md +177 -0
  127. package/dist/lite/.claude/skills/onboard-repo/SKILL.md +1640 -0
  128. package/dist/lite/.claude/skills/pattern-review/SKILL.md +99 -0
  129. package/dist/lite/.claude/skills/personas/SKILL.md +207 -0
  130. package/dist/lite/.claude/skills/promote/SKILL.md +283 -0
  131. package/dist/lite/.claude/skills/requirement/SKILL.md +98 -0
  132. package/dist/lite/.claude/skills/retro/SKILL.md +117 -0
  133. package/dist/lite/.claude/skills/riff/SKILL.md +114 -0
  134. package/dist/lite/.claude/skills/roadmap-reconcile/SKILL.md +163 -0
  135. package/dist/lite/.claude/skills/session-end/SKILL.md +309 -0
  136. package/dist/lite/.claude/skills/session-log/SKILL.md +299 -0
  137. package/dist/lite/.claude/skills/skills/SKILL.md +228 -0
  138. package/dist/lite/.claude/skills/spec/SKILL.md +105 -0
  139. package/dist/lite/.claude/skills/sprint/SKILL.md +418 -0
  140. package/dist/lite/.claude/skills/stage/SKILL.md +384 -0
  141. package/dist/lite/.claude/skills/state-a-problem/SKILL.md +185 -0
  142. package/dist/lite/.claude/skills/temperance/SKILL.md +108 -0
  143. package/dist/lite/.claude/skills/use-case/SKILL.md +417 -0
  144. package/dist/lite/.claude/skills/user-stories/SKILL.md +268 -0
  145. package/dist/lite/.claude/skills/value-prop/SKILL.md +251 -0
  146. package/dist/lite/.claude/skills/verify/SKILL.md +160 -0
  147. package/dist/lite/.claude/skills/visual-review/SKILL.md +503 -0
  148. package/dist/lite/.claude/skills/whats-the-plan/SKILL.md +202 -0
  149. package/dist/lite/.claude/skills/whereami/SKILL.md +307 -0
  150. package/dist/lite/AGENTS.md +79 -0
  151. package/dist/lite/CLAUDE-lite.md +85 -0
  152. package/dist/lite/CODE_OF_CONDUCT.md +28 -0
  153. package/dist/lite/CONTRIBUTING.md +177 -0
  154. package/dist/lite/README.md +173 -0
  155. package/dist/lite/SECURITY.md +19 -0
  156. package/dist/lite/architecture/decisions/ADR-029-release-pipeline.md +79 -0
  157. package/dist/lite/architecture/decisions/ADR-031-non-breaking-changes-adopter-discipline.md +139 -0
  158. package/dist/lite/architecture/decisions/ADR-032-adopter-sync-dispatcher-architecture.md +192 -0
  159. package/dist/lite/architecture/decisions/ADR-039-release-tagging-scheme.md +145 -0
  160. package/dist/lite/architecture/decisions/ADR-040-planning-skill-vocabulary-and-lite-profile.md +155 -0
  161. package/dist/lite/architecture/decisions/ADR-044-unified-skill-body-template.md +162 -0
  162. package/dist/lite/lib/clean-artifacts-sweep.sh +112 -0
  163. package/dist/lite/lib/code-comment-discipline.sh +144 -0
  164. package/dist/lite/lib/composer-preflight.sh +459 -0
  165. package/dist/lite/lib/deferred-actions.sh +146 -0
  166. package/dist/lite/lib/hook-header-parser.sh +61 -0
  167. package/dist/lite/lib/hook-heartbeat.sh +152 -0
  168. package/dist/lite/lib/hook-inject.sh +255 -0
  169. package/dist/lite/lib/hook-installer.sh +195 -0
  170. package/dist/lite/lib/luminary-pick.sh +96 -0
  171. package/dist/lite/lib/output-discipline.sh +143 -0
  172. package/dist/lite/lib/prose-scan-boundary.sh +171 -0
  173. package/dist/lite/lib/rewrite-check.sh +214 -0
  174. package/dist/lite/lib/session-rescue.sh +151 -0
  175. package/dist/lite/lib/source-graph-walker.sh +277 -0
  176. package/dist/lite/lib/state.sh +1372 -0
  177. package/dist/lite/lib/telemetry.sh +205 -0
  178. package/dist/lite/lib/tier-check.sh +187 -0
  179. package/dist/lite/lib/tier-dependency-audit.sh +1088 -0
  180. package/dist/lite/presence/install/bassclef-hook-connect.sh +178 -0
  181. package/dist/lite/presence/install/bassclef-sync.dispatcher.template.sh +841 -0
  182. package/dist/lite/presence/install/bassclef-sync.template.sh +2278 -0
  183. package/dist/lite/presence/install/schedule-auto-save.cron.sh +88 -0
  184. package/dist/lite/presence/install/schedule-auto-save.taskscheduler.md +122 -0
  185. package/dist/lite/scripts/aggregate-telemetry.sh +217 -0
  186. package/dist/lite/scripts/analyze-tier-dependencies.sh +239 -0
  187. package/dist/lite/scripts/generate-lite-manifest.sh +505 -0
  188. package/dist/lite/scripts/generate-tier-manifest.sh +28 -0
  189. package/dist/lite/scripts/intent-drift-check.sh +456 -0
  190. package/dist/lite/scripts/lite-manifest-drift-check.sh +146 -0
  191. package/dist/lite/scripts/render-lite-manifest-doc.sh +150 -0
  192. package/dist/lite/standards/adr-template.md +86 -0
  193. package/dist/lite/standards/api-conventions/nextjs.md +84 -0
  194. package/dist/lite/standards/artifact-composition.md +209 -0
  195. package/dist/lite/standards/bash-hook-safety.md +246 -0
  196. package/dist/lite/standards/bassclef-configs-schema.md +232 -0
  197. package/dist/lite/standards/bassclef-evolution.md +143 -0
  198. package/dist/lite/standards/bassclef-internal-jargon.md +244 -0
  199. package/dist/lite/standards/bassclef-managed-sentinel.md +96 -0
  200. package/dist/lite/standards/bassclef-source-config.md +228 -0
  201. package/dist/lite/standards/branch-stacking.md +408 -0
  202. package/dist/lite/standards/code-safety-principles.md +176 -0
  203. package/dist/lite/standards/composer-prerequisites.md +155 -0
  204. package/dist/lite/standards/deferred-actions-schema.md +204 -0
  205. package/dist/lite/standards/dependency-discipline/cargo.md +39 -0
  206. package/dist/lite/standards/dependency-discipline/gem.md +43 -0
  207. package/dist/lite/standards/dependency-discipline/go-mod.md +41 -0
  208. package/dist/lite/standards/dependency-discipline/npm.md +42 -0
  209. package/dist/lite/standards/dependency-discipline/pip.md +42 -0
  210. package/dist/lite/standards/deployment-topology/ec2-tailscale.md +225 -0
  211. package/dist/lite/standards/deployment-topology.md +69 -0
  212. package/dist/lite/standards/docs-sync-allowlist.md +76 -0
  213. package/dist/lite/standards/domain-and-dns.md +145 -0
  214. package/dist/lite/standards/frontend-stack.md +67 -0
  215. package/dist/lite/standards/frontmatter-schema.md +154 -0
  216. package/dist/lite/standards/graceful-exit.md +227 -0
  217. package/dist/lite/standards/hook-idempotency.md +102 -0
  218. package/dist/lite/standards/hook-injection-discipline.md +202 -0
  219. package/dist/lite/standards/hook-install-class.md +215 -0
  220. package/dist/lite/standards/input-handler-interface.md +152 -0
  221. package/dist/lite/standards/lite-manifest-schema-changes.md +180 -0
  222. package/dist/lite/standards/lite-manifest.json +2797 -0
  223. package/dist/lite/standards/luminary-matching.md +105 -0
  224. package/dist/lite/standards/luminary-problem-patterns.md +481 -0
  225. package/dist/lite/standards/migration-discipline/active-record.md +50 -0
  226. package/dist/lite/standards/migration-discipline/alembic.md +43 -0
  227. package/dist/lite/standards/migration-discipline/gorm.md +50 -0
  228. package/dist/lite/standards/migration-discipline/prisma.md +53 -0
  229. package/dist/lite/standards/migration-discipline/sqlalchemy.md +51 -0
  230. package/dist/lite/standards/mobile-ephemeral-session.md +167 -0
  231. package/dist/lite/standards/model-routing-discipline.md +160 -0
  232. package/dist/lite/standards/ogilvy-writing-rules.md +225 -0
  233. package/dist/lite/standards/opener-discipline.md +96 -0
  234. package/dist/lite/standards/operator-facing-prose-discipline.md +201 -0
  235. package/dist/lite/standards/persona-schema.md +229 -0
  236. package/dist/lite/standards/pluggable-luminaries.md +323 -0
  237. package/dist/lite/standards/pr-body-discipline.md +115 -0
  238. package/dist/lite/standards/preview-state-schema.md +189 -0
  239. package/dist/lite/standards/project-directory-layout.md +276 -0
  240. package/dist/lite/standards/release-tagging.md +137 -0
  241. package/dist/lite/standards/reserved-skill-names.md +120 -0
  242. package/dist/lite/standards/scannable-multi-option-output.md +265 -0
  243. package/dist/lite/standards/sdlc-compliance.md +286 -0
  244. package/dist/lite/standards/sdlc-gates/typescript.md +57 -0
  245. package/dist/lite/standards/secrets-lifecycle.md +210 -0
  246. package/dist/lite/standards/security-scanner-adapter.md +145 -0
  247. package/dist/lite/standards/session-board.md +256 -0
  248. package/dist/lite/standards/skill-output-discipline.md +121 -0
  249. package/dist/lite/standards/state-spine-contract.md +255 -0
  250. package/dist/lite/standards/state-spine.md +511 -0
  251. package/dist/lite/standards/steering-hints/kiss-words.md +11 -0
  252. package/dist/lite/standards/substrate-config-schema.md +267 -0
  253. package/dist/lite/standards/tech-stack-config.md +109 -0
  254. package/dist/lite/standards/tier-dependency-analysis.md +167 -0
  255. package/dist/lite/standards/tier-runtime-deps/lite.md +57 -0
  256. package/dist/lite/standards/tier-tag-schema.md +155 -0
  257. package/dist/lite/standards/two-layer-config.md +99 -0
  258. package/dist/lite/standards/use-case-format.md +292 -0
  259. package/dist/lite/standards/user-story-invest.md +268 -0
  260. package/dist/lite/standards/velocity-and-appetite.md +229 -0
  261. package/dist/lite/standards/voice-input-pattern.md +119 -0
  262. package/dist/lite/standards/whereami-schema.md +301 -0
  263. package/dist/lite/standards/worktree-management.md +211 -0
  264. package/dist/lite/standards/writing-guide.md +213 -0
  265. package/dist/lite/templates/chronicle-template.md +75 -0
  266. package/dist/lite/templates/deferred-action-template.md +45 -0
  267. package/dist/lite/templates/memory-proposal-template.md +77 -0
  268. package/dist/lite/templates/persona-template.md +200 -0
  269. package/dist/lite/templates/pr-faq.md +45 -0
  270. package/dist/lite/templates/secret-rotation-template.md +162 -0
  271. package/dist/lite/templates/spec-template.md +131 -0
  272. package/dist/lite/templates/use-case-template.md +194 -0
  273. package/dist/lite/templates/user-story-template.md +107 -0
  274. package/dist/lite/templates/whereami-template.md +101 -0
  275. package/package.json +1 -1
@@ -0,0 +1,179 @@
1
+ ---
2
+ tier: lite
3
+ name: Edward Tufte
4
+ slug: edward-tufte
5
+ claimed_by: [creative-director, designer]
6
+ referenced_by_skills: [frontend-design, visual-review, prototype-variants]
7
+ primary_domain: visual
8
+ depth: full
9
+ sources:
10
+ - type: book
11
+ title: "The Visual Display of Quantitative Information (2nd edition)"
12
+ authors: ["Edward Tufte"]
13
+ year: 2001
14
+ url: "https://www.edwardtufte.com/tufte/books_vdqi"
15
+ isbn: "9781930824133"
16
+ methodology_covered:
17
+ - "Data-ink ratio — maximize the ink that represents data; minimize non-data ink"
18
+ - "Chartjunk — non-data ink that obscures rather than clarifies"
19
+ - "Lie factor — visual representation should match the underlying data scale"
20
+ - "Small multiples — series of small similar graphs for comparison"
21
+ - type: book
22
+ title: "Envisioning Information"
23
+ authors: ["Edward Tufte"]
24
+ year: 1990
25
+ url: "https://www.edwardtufte.com/tufte/books_ei"
26
+ isbn: "9780961392116"
27
+ methodology_covered:
28
+ - "Escaping flatland — representing multiple dimensions in two-dimensional space"
29
+ - "Color as data + micro-macro readings + layering and separation"
30
+ - type: book
31
+ title: "Visual Explanations: Images and Quantities, Evidence and Narrative"
32
+ authors: ["Edward Tufte"]
33
+ year: 1997
34
+ url: "https://www.edwardtufte.com/tufte/books_visex"
35
+ isbn: "9780961392123"
36
+ methodology_covered:
37
+ - "Visualizing causality and change over time"
38
+ - "Smallest effective difference — use the minimum visual difference that conveys the distinction"
39
+ - type: book
40
+ title: "Beautiful Evidence"
41
+ authors: ["Edward Tufte"]
42
+ year: 2006
43
+ url: "https://www.edwardtufte.com/tufte/books_be"
44
+ isbn: "9780961392178"
45
+ methodology_covered:
46
+ - "Sparklines — word-sized graphics embedded in running text"
47
+ - "Evidence presentation principles for analytical writing"
48
+ verification_status: verified
49
+ solves_problems_brownfield:
50
+ - "UI shows many numbers or trends in compressed space and legibility is breaking down"
51
+ - "Dashboard has accumulated decoration and chart-junk; signal is buried"
52
+ - "Multi-dimensional data displays are letting one dimension drown out others"
53
+ - "Users decode the chart before understanding the message"
54
+ solves_problems_greenfield:
55
+ - "Planning a dashboard, financial report, or analytics UI that must show dense data clearly from day one"
56
+ - "Designing a surface where multiple quantitative dimensions need to coexist without one drowning the others"
57
+ - "Building a tool for domain experts who read data faster than narrative"
58
+ - "Need small multiples or sparklines as the main display element in the new design"
59
+ anti_patterns:
60
+ - "Sparse, narrative-heavy surfaces — Tufte over-compresses"
61
+ - "Consumer-emotional or marketing surfaces — Tufte reads as cold"
62
+ - "First-time onboarding flows — density assumes domain familiarity"
63
+ description: "\"Above all else, show the data. Maximize the data-ink ratio; every pixel that doesn't represent information is a candidate for removal.\""
64
+ ---
65
+
66
+ # Edward Tufte
67
+
68
+ ## Signature
69
+
70
+ *"Above all else, show the data. Maximize the data-ink ratio; every pixel that doesn't represent information is a candidate for removal."*
71
+
72
+ Yale statistician and visual communication theorist; author of **The
73
+ Visual Display of Quantitative Information** (1983). The bassclef
74
+ voice on data visualization — the standard against which all chart,
75
+ dashboard, and data-dense UI work is measured.
76
+
77
+ ## Core methods
78
+
79
+ - **Data-ink ratio** — The ratio of "ink" (visual weight) representing
80
+ actual data to total ink on the page. Maximize it. Every gridline,
81
+ axis label, border, or color swatch that doesn't represent data is a
82
+ candidate for removal.
83
+ - **Small multiples** — Many small versions of the same chart, aligned
84
+ in a grid, enable comparison at a glance. A single complex chart
85
+ often reads better as 12 small simple ones.
86
+ - **Sparklines** — Word-sized, intense, simple graphics embedded in
87
+ prose or tables. Show trend without dominating layout.
88
+ - **Chartjunk elimination** — Cross-hatching, 3D effects, decorative
89
+ borders, grid backgrounds, redundant legends. All candidates for
90
+ removal. Most "business graphics" are majority chartjunk.
91
+ - **Layering + separation** — Show multiple dimensions in the same
92
+ visualization through layers (color, line weight, opacity) that
93
+ separate clearly rather than blend into noise.
94
+ - **Graphical integrity** — No distortion through truncated axes,
95
+ misleading scales, decoration that implies precision where none
96
+ exists. Graphics should reveal truth, not obscure it.
97
+
98
+ ## When to channel this luminary
99
+
100
+ When the product is data-dense and the primary risk is that information
101
+ will be decoration rather than communication. Tufte dominates for
102
+ dashboards, analytics surfaces, financial tables, comparison views,
103
+ time-series data, geographic data. Pair with Lupton for the typographic
104
+ layer of the same dense surfaces.
105
+
106
+ Do NOT channel Tufte for: brand-forward surfaces where information
107
+ density is secondary (use Scher, Ive, Rams), narrative or editorial
108
+ content (Lupton, Bierut), or playful/delightful experiences (Walter,
109
+ Walsh).
110
+
111
+ ## Stack translation
112
+
113
+ In React with chart libraries (Recharts, Visx, D3):
114
+
115
+ - **Data-ink** → strip default gridlines, axis decorations, plot
116
+ borders. Add back only what's needed.
117
+ - **Small multiples** → CSS grid of many small charts, shared axis,
118
+ consistent scale. `grid-cols-4` of 12 charts beats one giant chart.
119
+ - **Sparklines** → inline SVG components in table cells; no axis,
120
+ minimal color, 40-80px wide by 20px tall.
121
+ - **No chartjunk** → remove Recharts/Chart.js defaults (legends,
122
+ gridlines, tooltips) and add back only what's essential.
123
+ - **Integrity** → axis starts at zero for magnitude charts; don't
124
+ truncate. Use log scale explicitly and label it. Never stack areas
125
+ to imply a total that isn't.
126
+
127
+ ## Anti-patterns it prevents
128
+
129
+ - **3D charts** — three-dimensional representation of 2D data. Adds
130
+ nothing; distorts everything.
131
+ - **Pie charts with many slices** — humans compare bar lengths better
132
+ than angles. Convert to horizontal bar chart.
133
+ - **Decorative dashboards** — dashboards that prioritize visual
134
+ impressiveness over information density. Colors without meaning,
135
+ gauges without data, sparklines as ornament.
136
+ - **Too many axes** — dual-axis charts overlaid without clear
137
+ separation. Viewer can't parse which line belongs to which axis.
138
+ - **Chart redundancy** — the same number shown as a card, in a chart,
139
+ and in a table on the same screen. Pick one.
140
+ - **Default library output** — shipping a Recharts chart without
141
+ styling it. Defaults are chartjunk; strip them.
142
+
143
+ ## Worked example
144
+
145
+ For POA's deal-pipeline dashboard:
146
+
147
+ Tufte's approach:
148
+ - **Summary metrics**: large numbers in typographic weight, no
149
+ background cards, minimal chrome. "42 deals / $18M pipeline /
150
+ Q2 close rate 34%."
151
+ - **Stage progression**: small-multiples of each stage's deal count
152
+ over time (6 small line charts in a row, shared time axis).
153
+ - **Deal table**: dense, many rows visible, sparklines in the "age"
154
+ column showing days-in-current-stage.
155
+ - **Colors**: only where they encode data (stage color, alert state).
156
+ No decorative colors.
157
+
158
+ What Tufte would NOT produce: a dashboard with 3D bar charts, gauge
159
+ widgets, "funnel" visualizations with decorative gradients, animated
160
+ transitions that slow comprehension, or sidebars of big colored cards
161
+ that display single numbers with excessive chrome.
162
+
163
+ ## Sources
164
+
165
+ - *The Visual Display of Quantitative Information* — Tufte, Graphics
166
+ Press (1983, rev. 2001) — foundational text
167
+ - *Envisioning Information* — Tufte (1990)
168
+ - *Visual Explanations* — Tufte (1997)
169
+ - *Beautiful Evidence* — Tufte (2006)
170
+ - edwardtufte.com — primary site
171
+
172
+ ## Related luminaries
173
+
174
+ - **Ellen Lupton** — Lupton + Tufte pair for data-dense typographic
175
+ surfaces. Tufte's data-ink, Lupton's type hierarchy.
176
+ - **Dieter Rams** — Shared restraint philosophy; Rams in physical
177
+ objects, Tufte in information displays.
178
+ - **Jony Ive** — Shared obsessive precision; Tufte at the data layer,
179
+ Ive at the material layer.
@@ -0,0 +1,160 @@
1
+ ---
2
+ tier: lite
3
+ name: Eric Evans
4
+ slug: eric-evans
5
+ claimed_by: [architect]
6
+ referenced_by_skills: [architect-review, decompose, ia-model]
7
+ primary_domain: architecture
8
+ depth: full
9
+ sources:
10
+ - type: book
11
+ title: "Domain-Driven Design: Tackling Complexity in the Heart of Software"
12
+ authors: ["Eric Evans"]
13
+ year: 2003
14
+ url: "https://www.domainlanguage.com/ddd/"
15
+ isbn: "9780321125217"
16
+ methodology_covered:
17
+ - "Ubiquitous Language — single language shared by domain experts and developers"
18
+ - "Bounded Contexts — explicit boundaries within which a particular model is defined and applicable"
19
+ - "Aggregates + Aggregate Roots — clusters of associated objects treated as a unit for data changes"
20
+ - "Domain Events + Domain Services + Repositories + Factories"
21
+ - "Strategic Design — Context Mapping + relationships between bounded contexts"
22
+ - type: paper
23
+ title: "Domain-Driven Design Reference (definitions and pattern summaries)"
24
+ authors: ["Eric Evans"]
25
+ year: 2015
26
+ url: "https://www.domainlanguage.com/ddd/reference/"
27
+ methodology_covered:
28
+ - "Free reference document — distilled DDD patterns and definitions"
29
+ - "Quick-lookup vocabulary for ubiquitous-language conversations"
30
+ verification_status: verified
31
+ description: "\"The model is the backbone of the design."
32
+ ---
33
+
34
+ # Eric Evans
35
+
36
+ ## Signature
37
+
38
+ *"The model is the backbone of the design. Bounded contexts let multiple models coexist without collapsing into mud."*
39
+
40
+ Author of **Domain-Driven Design** (the "blue book," 2003). The
41
+ foundational voice on DDD — modeling complex domains through
42
+ ubiquitous language, bounded contexts, and strategic design.
43
+
44
+ ## Core methods
45
+
46
+ - **Ubiquitous Language** — the same vocabulary used by domain experts,
47
+ designers, and developers. Code names match business terms. "Deal"
48
+ in the model IS "Deal" in the code, not "Transaction" or "Record".
49
+ - **Bounded Context** — an explicit boundary within which a particular
50
+ model applies. Multiple models can coexist (e.g., "Deal" in Acquisition
51
+ context vs "Deal" in Finance context) with documented translation
52
+ between them.
53
+ - **Context Map** — the strategic view of how bounded contexts relate
54
+ (Partnership, Shared Kernel, Customer/Supplier, Conformist, Anticorruption
55
+ Layer, Published Language, etc.).
56
+ - **Aggregates + Aggregate Roots** — cluster of domain objects treated
57
+ as a single unit for consistency. Root controls access; small
58
+ aggregates with references by ID between them.
59
+ - **Entities vs Value Objects** — entities have identity that persists
60
+ across state changes; value objects are immutable and defined by
61
+ their attributes (Money, DateRange, Address).
62
+ - **Domain Events** — things that happened in the domain worth
63
+ remembering (DealAdvanced, BrokerAssigned). Captured explicitly,
64
+ often drive integration between bounded contexts.
65
+
66
+ ## When to channel this luminary
67
+
68
+ When the primary risk is domain complexity — multiple stakeholder
69
+ viewpoints, technical jargon that hides business meaning, or
70
+ schema-mirror code that ignores how the business thinks. Evans
71
+ dominates for B2B products with specialist users, regulated domains,
72
+ and enterprise integration work. Pair with Vernon (Implementing DDD —
73
+ operational methods) always.
74
+
75
+ Do NOT channel Evans for: CRUD apps with trivial domain logic,
76
+ consumer products where user is not a specialist, or single-bounded-
77
+ context systems small enough to model as one coherent whole.
78
+
79
+ ## Stack translation
80
+
81
+ In Next.js + Prisma + TypeScript:
82
+
83
+ - **Ubiquitous Language** → Prisma model names, TypeScript types, React
84
+ component names, URL paths all use the same domain vocabulary as the
85
+ business. No translation layer needed.
86
+ - **Bounded Contexts** → separate domain directories under `lib/` per
87
+ bounded context (`lib/acquisition/`, `lib/finance/`), with explicit
88
+ mapping types at the boundary.
89
+ - **Aggregates** → Prisma's nested transaction boundaries align with
90
+ aggregate roots. A single `prisma.$transaction` should map to one
91
+ aggregate's invariants, not cross aggregates.
92
+ - **Value Objects** → TypeScript branded types for domain concepts
93
+ (`type DealId = string & { __brand: 'DealId' }`) prevent mixing.
94
+ - **Domain Events** → Prisma middleware hooks or explicit event-dispatch
95
+ in services; events drive downstream integration.
96
+ - **Anticorruption Layer** → adapters wrapping external APIs (enrichment
97
+ providers, email services) translate between their model and ours.
98
+
99
+ ## Anti-patterns it prevents
100
+
101
+ - **Schema-mirror code** — code vocabulary that matches the database
102
+ table structure instead of the business domain. "UserDealJunction"
103
+ instead of "DealOwnership."
104
+ - **Anemic Domain Model** — objects that hold data without behavior;
105
+ business logic scattered across services. Evans prefers rich
106
+ domain objects with behavior co-located with state.
107
+ - **Big Ball of Mud** — one bounded context that tries to serve
108
+ every viewpoint. Acquisition logic mixed with reporting with
109
+ notifications all in one model.
110
+ - **Transaction Script for non-trivial domains** — procedural code
111
+ orchestrating DB calls; fine for simple CRUD, breaks under
112
+ complex business rules.
113
+ - **Linguistic leakage** — technical terms bleeding into business
114
+ communication ("let's persist the entity"). Ubiquitous Language
115
+ demands business vocabulary in both directions.
116
+
117
+ ## Worked example
118
+
119
+ For POA's cross-module work (Acquisition + Communications + Reporting):
120
+
121
+ Evans's approach:
122
+ - **Three bounded contexts**, each with its own model:
123
+ - Acquisition: Deal, Seller, Buyer, Stage, Offer
124
+ - Communications: Thread, Message, Broker, Participant
125
+ - Reporting: DealSnapshot, StageAggregate, SourceMetrics
126
+ - **Context Map** showing relationships:
127
+ - Acquisition → Communications: Customer/Supplier (Communications
128
+ consumes Deal events from Acquisition)
129
+ - Acquisition → Reporting: Published Language (Reporting reads
130
+ read-only snapshots, never mutates Acquisition)
131
+ - **Ubiquitous Language per context** — a "Deal" in Acquisition is not
132
+ the same shape as a "DealSnapshot" in Reporting, and that's correct.
133
+ - **Aggregates**: Deal is aggregate root in Acquisition; Thread is
134
+ aggregate root in Communications. They reference each other by ID.
135
+ - **Domain Events**: `DealAdvanced` event fires from Acquisition, is
136
+ consumed by Communications (sends notifications) and Reporting
137
+ (updates aggregates).
138
+
139
+ What Evans would NOT produce: one Prisma schema where User, Deal,
140
+ Thread, and Report all share tables with "status" columns meaning
141
+ different things in different views. That's the ball of mud he's
142
+ explicitly preventing.
143
+
144
+ ## Sources
145
+
146
+ - *Domain-Driven Design: Tackling Complexity in the Heart of Software* —
147
+ Evans, Addison-Wesley (2003) — THE foundational text
148
+ - *Domain-Driven Design Reference* — Evans (2015, free PDF at domainlanguage.com)
149
+ - domainlanguage.com — primary site
150
+
151
+ ## Related luminaries
152
+
153
+ - **Vaughn Vernon** — Implementing DDD. Vernon operationalizes Evans
154
+ for teams new to DDD. Pair always.
155
+ - **Martin Fowler** — Patterns of Enterprise Application Architecture
156
+ provides implementation vocabulary for DDD's strategic concepts.
157
+ - **Alistair Cockburn** — Hexagonal Architecture contains bounded
158
+ contexts naturally; aggregates live inside hexagons.
159
+ - **Gregor Hohpe** — EIP's integration patterns operate across
160
+ Evans's context map relationships.
@@ -0,0 +1,50 @@
1
+ ---
2
+ tier: lite
3
+ name: Frederick P. Brooks Jr.
4
+ slug: frederick-brooks
5
+ claimed_by: [orchestrator, architect]
6
+ referenced_by_skills: [sprint, architect-review]
7
+ primary_domain: orchestration
8
+ depth: stub
9
+ description: "\"Adding manpower to a late software project makes it later.\""
10
+ ---
11
+
12
+ # Frederick P. Brooks Jr.
13
+
14
+ ## Signature
15
+
16
+ *"Adding manpower to a late software project makes it later."*
17
+
18
+ Author of **The Mythical Man-Month** (1975, 1995). Canonical voice on
19
+ **coordination costs, communication overhead, and why software projects
20
+ fail at scale**. We invoke Brooks whenever the temptation is "throw more
21
+ agents at it."
22
+
23
+ ## Core methods
24
+
25
+ - **Brooks's Law** — Adding people to a late project makes it later.
26
+ Onboarding cost + communication overhead > productive output of new
27
+ hires for the duration of the delay.
28
+ - **Communication overhead formula** — n people have n(n-1)/2
29
+ communication pathways. Coordination cost grows quadratically with team
30
+ size.
31
+ - **No silver bullet** — No single development advance will improve
32
+ software productivity by an order of magnitude. Beware grand claims.
33
+ - **Conceptual integrity over democratic design** — A single architect's
34
+ coherent vision beats a committee's compromise. Applies directly to
35
+ multi-agent orchestration: one coordinator, many executors.
36
+
37
+ ## Sources
38
+
39
+ - *The Mythical Man-Month: Essays on Software Engineering* — Brooks,
40
+ Addison-Wesley (1975, 20th anniversary ed 1995)
41
+ - *"No Silver Bullet — Essence and Accident in Software Engineering"* —
42
+ Brooks (1986)
43
+ - Turing Award Lecture (1999)
44
+
45
+ ## Related luminaries
46
+
47
+ - **Melvin Conway** — Conway's Law and Brooks's Law operate in the same
48
+ domain: organizational structure determines system structure and cost.
49
+ - **Catherine Wu (Anthropic)** — "Underfund on purpose" is Brooks's
50
+ insight applied to agent orchestration: fewer agents, tighter scope.
@@ -0,0 +1,157 @@
1
+ ---
2
+ tier: lite
3
+ name: Gang of Four (Gamma, Helm, Johnson, Vlissides)
4
+ slug: gang-of-four
5
+ claimed_by: [builder]
6
+ referenced_by_skills: [pattern-review, decompose, architect-review]
7
+ primary_domain: engineering
8
+ depth: full
9
+ sources:
10
+ - type: book
11
+ title: "Design Patterns: Elements of Reusable Object-Oriented Software"
12
+ authors: ["Erich Gamma", "Richard Helm", "Ralph Johnson", "John Vlissides"]
13
+ year: 1994
14
+ url: "https://www.pearson.com/en-us/subject-catalog/p/design-patterns-elements-of-reusable-object-oriented-software/P200000009480"
15
+ isbn: "9780201633610"
16
+ methodology_covered:
17
+ - "23 named patterns across Creational, Structural, Behavioral categories"
18
+ - "Program to an interface, not an implementation"
19
+ - "Favor object composition over class inheritance"
20
+ - "Decorator for cross-cutting concerns; Strategy for algorithm variation; Observer for event propagation"
21
+ - "Pattern language as shared vocabulary for design discussion"
22
+ verification_status: verified
23
+ description: "\"Program to an interface, not an implementation."
24
+ ---
25
+
26
+ # Gang of Four (GoF)
27
+
28
+ ## Signature
29
+
30
+ *"Program to an interface, not an implementation. Favor object composition over class inheritance."*
31
+
32
+ Authors of **Design Patterns: Elements of Reusable Object-Oriented
33
+ Software** (1994). The bassclef reference for 23 named OO patterns
34
+ across three categories (Creational, Structural, Behavioral). The
35
+ book every serious engineer has read; the patterns every codebase
36
+ implements, named or not.
37
+
38
+ ## Core methods
39
+
40
+ ### Creational patterns (how objects are made)
41
+ - **Factory Method** — defer instantiation to subclasses
42
+ - **Abstract Factory** — families of related objects
43
+ - **Builder** — step-by-step complex construction
44
+ - **Prototype** — clone existing instances
45
+ - **Singleton** — one shared instance (use sparingly)
46
+
47
+ ### Structural patterns (how objects compose)
48
+ - **Adapter** — translate one interface to another
49
+ - **Bridge** — decouple abstraction from implementation
50
+ - **Composite** — tree structures of uniform objects
51
+ - **Decorator** — add behavior without subclassing (critical for
52
+ cross-cutting concerns — see `/decompose` Phase 3)
53
+ - **Facade** — simplified interface to subsystem
54
+ - **Flyweight** — share state for many small objects
55
+ - **Proxy** — placeholder controlling access
56
+
57
+ ### Behavioral patterns (how objects collaborate)
58
+ - **Chain of Responsibility** — pass request through handlers
59
+ - **Command** — encapsulate request as object
60
+ - **Interpreter** — language grammar evaluation
61
+ - **Iterator** — sequential access without exposing structure
62
+ - **Mediator** — reduce inter-object coupling
63
+ - **Memento** — capture and restore state
64
+ - **Observer** — notify dependents of state change
65
+ - **State** — behavior varies by internal state
66
+ - **Strategy** — algorithm varies at runtime
67
+ - **Template Method** — skeleton with overridable steps
68
+ - **Visitor** — operations over object structure
69
+
70
+ ## When to channel this luminary
71
+
72
+ When the primary risk is reinventing solved structural problems badly.
73
+ GoF dominates for Construction pattern selection, code review, and
74
+ decomposition work. Pair with Fowler (enterprise patterns extend GoF),
75
+ Uncle Bob (SOLID shapes how patterns apply), and Cockburn (Hexagonal
76
+ Architecture places patterns in structural context).
77
+
78
+ Do NOT channel GoF for: trivial code where no pattern applies,
79
+ greenfield work where you should first ask whether the problem is
80
+ really structural, or to justify over-engineering.
81
+
82
+ ## Stack translation
83
+
84
+ In Next.js + React + TypeScript:
85
+
86
+ - **Facade** → server actions composing multiple services for a single
87
+ operation (`app/actions/create-deal.ts`).
88
+ - **Adapter** → `lib/adapters/[vendor].ts` wraps external APIs with
89
+ consistent interface.
90
+ - **Strategy** → `IScoringStrategy` with multiple implementations;
91
+ registry selects at runtime.
92
+ - **Decorator** → `ObservedImputer` wraps `IAssociationImputer` for
93
+ tracing; `CachedRepository` wraps `IRepository` for caching. THE
94
+ pattern for cross-cutting concerns per `/decompose` Phase 3.
95
+ - **Observer** → React context + useEffect for subscription; Prisma
96
+ middleware for data-change events.
97
+ - **Factory** → `createClient()` functions that return configured instances.
98
+ - **State** → XState machines for complex UI state (deal-stage wizard).
99
+ - **Template Method** → base classes with abstract steps (rare in
100
+ modern React; prefer composition).
101
+ - **Proxy** → Next.js middleware for auth; SWR for cached API access.
102
+
103
+ ## Anti-patterns it prevents
104
+
105
+ - **Pattern invention** — creating novel structural solutions to solved
106
+ problems. Results are always worse than the pattern.
107
+ - **Pattern without need** — using Observer where a simple callback
108
+ works; Strategy where an if-statement works. Pattern overhead without
109
+ variation pressure.
110
+ - **Mis-fit pattern** — applying a pattern whose preconditions don't
111
+ hold. Factory for simple `new` calls. Decorator for behavior that's
112
+ intrinsic (not cross-cutting).
113
+ - **Pattern stacking** — using five patterns where two would suffice.
114
+ Each pattern has cognitive cost.
115
+ - **Inheritance as default structural tool** — GoF's opening principle
116
+ is "favor composition over inheritance." Deep inheritance hierarchies
117
+ are usually wrong.
118
+
119
+ ## Worked example
120
+
121
+ For POA's email-imputation facade (per `/decompose` Phase 3):
122
+
123
+ GoF pattern selection:
124
+ - **Facade**: `AssociationImputer` exposes simple interface, hides
125
+ LLM provider complexity
126
+ - **Strategy**: Different providers (Haiku, Gemma) as interchangeable
127
+ implementations of `IAssociationImputer`
128
+ - **Adapter**: `AnthropicAdapter`, `GeminiAdapter` wrap vendor SDKs
129
+ behind common interface
130
+ - **Decorator**: `ObservedImputer` wraps any imputer with Langfuse
131
+ tracing — cross-cutting observability
132
+ - **Proxy**: `CachedImputer` wraps any imputer with recent-result
133
+ caching — cross-cutting performance
134
+ - **Chain of Responsibility** (future): multiple imputers in fallback
135
+ chain — Haiku first, Gemma on low confidence, human review on very
136
+ low confidence
137
+
138
+ What GoF would NOT produce: one concrete `HaikuImputer` class with
139
+ observability, caching, error handling, and provider logic all
140
+ intertwined. That's the anti-pattern `/decompose` evolution was
141
+ built to prevent.
142
+
143
+ ## Sources
144
+
145
+ - *Design Patterns: Elements of Reusable Object-Oriented Software* —
146
+ Gamma, Helm, Johnson, Vlissides, Addison-Wesley (1994)
147
+ - No primary website (the book is the source)
148
+
149
+ ## Related luminaries
150
+
151
+ - **Robert C. Martin** — SOLID principles guide pattern application.
152
+ - **Martin Fowler** — PoEAA extends GoF patterns to enterprise context.
153
+ - **Erich Gamma** individually — co-author, later led VS Code.
154
+ - **Christopher Alexander** — "A Pattern Language" (architecture, 1977)
155
+ inspired the software pattern movement.
156
+ - **Head First Design Patterns** (Freeman, Robson) — accessible entry
157
+ to GoF for learners.