@letterstory/design 0.1.6 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/PRINCIPLES.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Letterstory design principles
4
4
 
5
- ## The four principles
5
+ ## The six principles
6
6
 
7
7
  1. **Primitives + intelligence, never a baked opinion.** Every surface is an unopinionated
8
8
  substrate (data structures, one pipeline, storable as plain data) plus an intelligence layer
@@ -44,6 +44,23 @@
44
44
  need does not exist, add it there first, then use it. Cross-feature imports of another
45
45
  feature's private module are an ESLint error.
46
46
 
47
+ 5. **Agentic coverage via API/CLI/MCP.** A customer's own agent (a long-running background
48
+ agent monitoring their account — e.g. "Hermes") must be able to watch accounts, activity,
49
+ and progress 24/7 through the API/MCP, not just a human through the UI. If an agent can't
50
+ do something agentically that the UI supports, that's a blind spot — the missing projection
51
+ principle 3 already names. The asymmetry runs both ways: an internal-only tool that gives
52
+ the team a capability customers can't reach via API (a staff dashboard, an admin-only
53
+ feed) is a design flaw to fix, not a shortcut to keep. Precedent gap:
54
+ `src/lib/phantom-access/recent-activity.ts` powers a UI-only "what's hitting my fleet right
55
+ now" feed with no MCP/CLI projection — first candidate to close (see todo.md).
56
+
57
+ 6. **Every primitive launches through one workflow: Build → Access → Test → Onboard → Billing.**
58
+ Build the primitive; expose it through the API/MCP/CLI gateways (principle 3 — no separate
59
+ surface-specific launch path); test it end-to-end, e.g. via Claude Code; onboard it (docs,
60
+ org enablement); wire billing. Primitives stay composable and independent — easy to swap in
61
+ or out — even where they share logic with the rest of the stack. Writing Kernels is a
62
+ primitive; it went through this workflow.
63
+
47
64
  ## The two review questions
48
65
 
49
66
  Applied to every PR (from `docs/architecture/README.md`):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@letterstory/design",
3
- "version": "0.1.6",
3
+ "version": "0.1.9",
4
4
  "description": "Letterstory design tokens, the phantom theme registry, and the design principles — one source for every Letterstory repo.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
package/themes.d.ts CHANGED
@@ -65,7 +65,8 @@ export type PhantomBlogTheme =
65
65
  | "kiosk"
66
66
  | "vitrine"
67
67
  | "commons"
68
- | "blitz";
68
+ | "blitz"
69
+ | "quarto";
69
70
 
70
71
  export interface PhantomBlogThemeGroupEntry {
71
72
  readonly id: PhantomBlogThemeGroup;
package/themes.json CHANGED
@@ -427,6 +427,13 @@
427
427
  "hint": "Culture-news grid, dark ground, dense photo feed, dark/light toggle",
428
428
  "group": "publication",
429
429
  "tags": ["editorial", "culture", "news", "magazine", "dark", "video", "photo"]
430
+ },
431
+ {
432
+ "value": "quarto",
433
+ "label": "Quarto",
434
+ "hint": "Serif review journal, three-column newspaper front, warm paper",
435
+ "group": "publication",
436
+ "tags": ["editorial", "serif", "review", "newspaper", "classic", "magazine"]
430
437
  }
431
438
  ]
432
439
  }