@vextlabs/theron-cli 0.2.1 → 0.4.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 (191) hide show
  1. package/dist/api.d.ts +8 -0
  2. package/dist/api.js +3 -0
  3. package/dist/api.js.map +1 -1
  4. package/dist/auth.js +51 -1
  5. package/dist/auth.js.map +1 -1
  6. package/dist/banner.js +3 -2
  7. package/dist/banner.js.map +1 -1
  8. package/dist/checkpoints.d.ts +32 -0
  9. package/dist/checkpoints.js +61 -0
  10. package/dist/checkpoints.js.map +1 -0
  11. package/dist/index.js +61 -5
  12. package/dist/index.js.map +1 -1
  13. package/dist/input.d.ts +61 -0
  14. package/dist/input.js +574 -0
  15. package/dist/input.js.map +1 -0
  16. package/dist/profiles/index.js +5 -0
  17. package/dist/profiles/index.js.map +1 -1
  18. package/dist/profiles/methodologies/build_domains.d.ts +6 -0
  19. package/dist/profiles/methodologies/build_domains.js +170 -0
  20. package/dist/profiles/methodologies/build_domains.js.map +1 -0
  21. package/dist/profiles/methodologies/operate_domains.d.ts +8 -0
  22. package/dist/profiles/methodologies/operate_domains.js +1239 -0
  23. package/dist/profiles/methodologies/operate_domains.js.map +1 -0
  24. package/dist/profiles/methodologies/regulated_domains.d.ts +6 -0
  25. package/dist/profiles/methodologies/regulated_domains.js +153 -0
  26. package/dist/profiles/methodologies/regulated_domains.js.map +1 -0
  27. package/dist/profiles/methodologies/research_domains.d.ts +8 -0
  28. package/dist/profiles/methodologies/research_domains.js +179 -0
  29. package/dist/profiles/methodologies/research_domains.js.map +1 -0
  30. package/dist/profiles/methodologies/strategy_domains.d.ts +15 -0
  31. package/dist/profiles/methodologies/strategy_domains.js +193 -0
  32. package/dist/profiles/methodologies/strategy_domains.js.map +1 -0
  33. package/dist/profiles/seeds.js +241 -95
  34. package/dist/profiles/seeds.js.map +1 -1
  35. package/dist/receipt.d.ts +17 -0
  36. package/dist/receipt.js +46 -0
  37. package/dist/receipt.js.map +1 -0
  38. package/dist/render.d.ts +4 -1
  39. package/dist/render.js +95 -28
  40. package/dist/render.js.map +1 -1
  41. package/dist/repl.d.ts +8 -1
  42. package/dist/repl.js +420 -62
  43. package/dist/repl.js.map +1 -1
  44. package/dist/sessions.d.ts +14 -0
  45. package/dist/sessions.js +100 -0
  46. package/dist/sessions.js.map +1 -1
  47. package/dist/ship.d.ts +2 -0
  48. package/dist/ship.js +62 -0
  49. package/dist/ship.js.map +1 -0
  50. package/dist/skills/catalog.d.ts +13 -0
  51. package/dist/skills/catalog.js +86 -0
  52. package/dist/skills/catalog.js.map +1 -0
  53. package/dist/tools/bash.js +81 -14
  54. package/dist/tools/bash.js.map +1 -1
  55. package/dist/tools/edit.js +21 -1
  56. package/dist/tools/edit.js.map +1 -1
  57. package/dist/tools/glob.js +4 -1
  58. package/dist/tools/glob.js.map +1 -1
  59. package/dist/tools/grep.d.ts +5 -0
  60. package/dist/tools/grep.js +101 -2
  61. package/dist/tools/grep.js.map +1 -1
  62. package/dist/tools/index.d.ts +22 -0
  63. package/dist/tools/index.js +177 -41
  64. package/dist/tools/index.js.map +1 -1
  65. package/dist/tools/ls.d.ts +3 -0
  66. package/dist/tools/ls.js +23 -12
  67. package/dist/tools/ls.js.map +1 -1
  68. package/dist/tools/multiedit.d.ts +12 -0
  69. package/dist/tools/multiedit.js +79 -0
  70. package/dist/tools/multiedit.js.map +1 -0
  71. package/dist/tools/stoa.d.ts +1 -1
  72. package/dist/tools/stoa.js +7 -3
  73. package/dist/tools/stoa.js.map +1 -1
  74. package/dist/tools/task.d.ts +9 -0
  75. package/dist/tools/task.js +166 -0
  76. package/dist/tools/task.js.map +1 -0
  77. package/dist/tools/todowrite.d.ts +12 -0
  78. package/dist/tools/todowrite.js +38 -0
  79. package/dist/tools/todowrite.js.map +1 -0
  80. package/dist/tools/webfetch.d.ts +6 -0
  81. package/dist/tools/webfetch.js +98 -0
  82. package/dist/tools/webfetch.js.map +1 -0
  83. package/dist/tools/websearch.d.ts +7 -0
  84. package/dist/tools/websearch.js +83 -0
  85. package/dist/tools/websearch.js.map +1 -0
  86. package/dist/tools/write.js +17 -1
  87. package/dist/tools/write.js.map +1 -1
  88. package/dist/verifiers/calc_gate.d.ts +2 -0
  89. package/dist/verifiers/calc_gate.js +112 -0
  90. package/dist/verifiers/calc_gate.js.map +1 -0
  91. package/dist/verifiers/citation_gate.d.ts +2 -0
  92. package/dist/verifiers/citation_gate.js +130 -0
  93. package/dist/verifiers/citation_gate.js.map +1 -0
  94. package/dist/verifiers/confidence_marked.d.ts +2 -0
  95. package/dist/verifiers/confidence_marked.js +49 -0
  96. package/dist/verifiers/confidence_marked.js.map +1 -0
  97. package/dist/verifiers/disclaimer_gate.d.ts +2 -0
  98. package/dist/verifiers/disclaimer_gate.js +57 -0
  99. package/dist/verifiers/disclaimer_gate.js.map +1 -0
  100. package/dist/verifiers/evidence_gate.d.ts +2 -0
  101. package/dist/verifiers/evidence_gate.js +108 -0
  102. package/dist/verifiers/evidence_gate.js.map +1 -0
  103. package/dist/verifiers/index.d.ts +5 -0
  104. package/dist/verifiers/index.js +28 -7
  105. package/dist/verifiers/index.js.map +1 -1
  106. package/dist/verifiers/lint.js +4 -3
  107. package/dist/verifiers/lint.js.map +1 -1
  108. package/dist/verifiers/promoted_kernels.d.ts +8 -0
  109. package/dist/verifiers/promoted_kernels.js +190 -0
  110. package/dist/verifiers/promoted_kernels.js.map +1 -0
  111. package/dist/verifiers/source_gate.d.ts +2 -0
  112. package/dist/verifiers/source_gate.js +125 -0
  113. package/dist/verifiers/source_gate.js.map +1 -0
  114. package/dist/verifiers/test_smoke.js +30 -0
  115. package/dist/verifiers/test_smoke.js.map +1 -1
  116. package/dist/verifiers/types.d.ts +3 -0
  117. package/package.json +4 -2
  118. package/skills/README.md +123 -0
  119. package/skills/ab-test.md +89 -0
  120. package/skills/api-design.md +175 -0
  121. package/skills/architecture-design.md +185 -0
  122. package/skills/business-case.md +77 -0
  123. package/skills/causal-inference.md +77 -0
  124. package/skills/clinical-guideline.md +98 -0
  125. package/skills/code-review.md +98 -0
  126. package/skills/cold-outreach.md +268 -0
  127. package/skills/competitive-teardown.md +223 -0
  128. package/skills/component-spec.md +121 -0
  129. package/skills/content-calendar.md +280 -0
  130. package/skills/contract-review.md +155 -0
  131. package/skills/data-analysis.md +187 -0
  132. package/skills/debug.md +91 -0
  133. package/skills/design-audit.md +121 -0
  134. package/skills/differential-diagnosis.md +79 -0
  135. package/skills/discovery-call.md +206 -0
  136. package/skills/edit-pass.md +80 -0
  137. package/skills/engineering-calc.md +101 -0
  138. package/skills/estimate.md +70 -0
  139. package/skills/experiment-design.md +105 -0
  140. package/skills/fact-check.md +82 -0
  141. package/skills/financial-model.md +104 -0
  142. package/skills/grant-proposal.md +93 -0
  143. package/skills/harmony-analysis.md +93 -0
  144. package/skills/hypothesis-generation.md +99 -0
  145. package/skills/incident-response.md +134 -0
  146. package/skills/interview-loop.md +62 -0
  147. package/skills/job-scorecard.md +92 -0
  148. package/skills/kb-article.md +174 -0
  149. package/skills/launch-plan.md +85 -0
  150. package/skills/lease-review.md +93 -0
  151. package/skills/lesson-plan.md +198 -0
  152. package/skills/literature-review.md +69 -0
  153. package/skills/market-entry.md +137 -0
  154. package/skills/market-sizing.md +159 -0
  155. package/skills/meta-analysis.md +140 -0
  156. package/skills/migrate.md +117 -0
  157. package/skills/optimize.md +88 -0
  158. package/skills/options-strategy.md +166 -0
  159. package/skills/peer-review.md +96 -0
  160. package/skills/pentest-plan.md +193 -0
  161. package/skills/pitch-review.md +132 -0
  162. package/skills/plan.md +88 -0
  163. package/skills/policy-brief.md +124 -0
  164. package/skills/positioning.md +192 -0
  165. package/skills/postmortem.md +168 -0
  166. package/skills/prd.md +105 -0
  167. package/skills/prioritize.md +162 -0
  168. package/skills/proof.md +91 -0
  169. package/skills/property-underwrite.md +159 -0
  170. package/skills/recipe-develop.md +109 -0
  171. package/skills/red-team.md +142 -0
  172. package/skills/refactor.md +58 -0
  173. package/skills/reflection-session.md +115 -0
  174. package/skills/regulatory-compliance.md +136 -0
  175. package/skills/reproduce.md +87 -0
  176. package/skills/runbook.md +344 -0
  177. package/skills/security-audit.md +154 -0
  178. package/skills/seo-brief.md +201 -0
  179. package/skills/sql-query.md +161 -0
  180. package/skills/story-craft.md +163 -0
  181. package/skills/tdd.md +59 -0
  182. package/skills/term-sheet.md +298 -0
  183. package/skills/theory-of-change.md +88 -0
  184. package/skills/threat-model.md +104 -0
  185. package/skills/ticket-triage.md +200 -0
  186. package/skills/tolerance-analysis.md +149 -0
  187. package/skills/training-program.md +151 -0
  188. package/skills/translate.md +64 -0
  189. package/skills/unit-economics.md +238 -0
  190. package/skills/valuation.md +112 -0
  191. package/skills/write-tests.md +77 -0
@@ -0,0 +1,193 @@
1
+ // Professional METHODOLOGIES for the CREATIVE / STRATEGY domains:
2
+ // creative · writing · design · business · product
3
+ //
4
+ // This file follows the same template as the `pentest` profile in
5
+ // seeds.ts (the PENTEST_METHODOLOGY block + PENTEST_INVARIANT + the
6
+ // evidence_gate verifier that mechanically PROVES the invariant). For
7
+ // each domain we ship:
8
+ //
9
+ // <DOMAIN>_METHODOLOGY — a rich systemPromptAppend: the ORDERED phases
10
+ // a top practitioner in this domain actually
11
+ // works through. For creative/strategy work the
12
+ // canonical arc is:
13
+ // understand the audience + goal
14
+ // -> gather context (READ the brief / data,
15
+ // don't assume)
16
+ // -> produce
17
+ // -> tie every choice back to the goal /
18
+ // user-need (SHOW THE REASONING)
19
+ // -> refine.
20
+ //
21
+ // <DOMAIN>_INVARIANT — the one-line behavioral contract surfaced in
22
+ // the welcome line and asserted by an assigned
23
+ // VERIFIER GATE.
24
+ //
25
+ // The throughline across ALL Theron domains (the Claude-quality moves):
26
+ // - READ THE SOURCE before asserting (never recite from memory).
27
+ // - SHOW THE WORK / SHOW THE REASONING.
28
+ // - CONFIRM WITH EVIDENCE (here: cite the brief / data / user-need a
29
+ // choice serves).
30
+ // - State uncertainty honestly.
31
+ // - SCOPE before producing.
32
+ // - (Regulated domains) route to a licensed human. Not relevant to
33
+ // these five, but the discipline of "name the limit" still applies.
34
+ //
35
+ // VERIFIER ASSIGNMENT (mechanical proof of each invariant):
36
+ // writing -> ai_ism_check + em_dash_check + style_lint
37
+ // creative -> ai_ism_check + em_dash_check + style_lint
38
+ // business -> source_gate
39
+ // product -> source_gate
40
+ // design -> source_gate
41
+ // See STRATEGY_DOMAIN_VERIFIERS below for the machine-readable map. The
42
+ // writing/creative verifiers already exist in verifiers/index.ts;
43
+ // `source_gate` is the claim-must-cite-its-source/data gate (the
44
+ // strategy-domain analog of evidence_gate — a recommendation without the
45
+ // user-need / data it serves is a block, not a finding). Wire these into
46
+ // the corresponding profiles' `verifiers` array in seeds.ts.
47
+ // ---------------------------------------------------------------------------
48
+ // Shared discipline — the creative/strategist arc every methodology below
49
+ // instantiates. Kept as a small reusable header so each domain block reads
50
+ // the same shape (mirrors how PENTEST_METHODOLOGY opens with its phases).
51
+ // ---------------------------------------------------------------------------
52
+ const CREATIVE_STRATEGY_ARC = [
53
+ `You work like a top practitioner in this field. Work the phases IN ORDER. Do not skip straight to producing.`,
54
+ ``,
55
+ `═══ PHASE 1 — UNDERSTAND THE AUDIENCE + GOAL ═══`,
56
+ `- Name WHO this is for and WHAT it has to achieve before you make anything. If the audience or the goal is unstated or fuzzy, ask 1-2 sharp questions instead of guessing. A deliverable aimed at no one lands on no one.`,
57
+ ``,
58
+ `═══ PHASE 2 — GATHER CONTEXT (read the brief / data — don't assume) ═══`,
59
+ `- READ THE SOURCE first. Read the brief, the existing copy, the data, the user research, the design tokens, the prior art in the repo — whatever is provided — BEFORE asserting. Never recite a generic answer from memory when the specific context is one Read away.`,
60
+ `- If the context you need doesn't exist, say so plainly and state what you're assuming. Don't paper over the gap.`,
61
+ ``,
62
+ `═══ PHASE 3 — PRODUCE ═══`,
63
+ `- Make the thing. One strong option beats five hedged ones, but offer alternatives where the tradeoff is real and the user should choose.`,
64
+ ``,
65
+ `═══ PHASE 4 — TIE EVERY CHOICE TO THE GOAL / USER-NEED (show the reasoning) ═══`,
66
+ `- For each meaningful decision, say WHY: which audience insight, brief requirement, user-need, or data point it serves. Reasoning you can't trace to the goal is decoration. This is the strategy-domain version of "confirm with evidence."`,
67
+ ``,
68
+ `═══ PHASE 5 — REFINE ═══`,
69
+ `- Re-read against the goal from Phase 1. Cut what doesn't serve it. State honestly what you're unsure about and what you'd test or validate next.`,
70
+ ];
71
+ // ---------------------------------------------------------------------------
72
+ // WRITING — match the voice, kill the AI tells.
73
+ // Invariant proven by: ai_ism_check + em_dash_check + style_lint.
74
+ // ---------------------------------------------------------------------------
75
+ export const WRITING_INVARIANT = "Match the requested tone + audience; no AI-isms, no em-dash; read any voice sample before writing in it.";
76
+ export const WRITING_METHODOLOGY = [
77
+ `PROFESSIONAL WRITING METHODOLOGY (audience-first, voice-matched, AI-tell-free).`,
78
+ ...CREATIVE_STRATEGY_ARC,
79
+ ``,
80
+ `═══ WRITING-SPECIFIC CRAFT ═══`,
81
+ `- VOICE before words. If the user provides a sample (or a doc lives in the repo), READ it first and name the voice out loud: sentence-length variance, vocabulary register, punctuation habits, how it opens. Then write IN that voice. Don't default to house style.`,
82
+ `- NEVER use em-dashes (—). Use a period, comma, parenthesis, or "but". The em-dash is the single loudest AI tell.`,
83
+ `- Kill AI-isms: "delve", "tapestry", "elevate", "robust", "comprehensive", "leverage" (verb), "navigate the complexities", "in today's fast-paced world", "it's important to note", "game-changer", "unlock potential". Plain words win.`,
84
+ `- Vary sentence length. Mix short. With longer ones that develop a thought. Then short again. Even rhythm reads as machine-generated.`,
85
+ `- One concrete detail beats five abstractions. "She left at 4:47 AM" over "in the early morning hours."`,
86
+ `- Active voice unless passive is genuinely better. For long-form: outline as a markdown list, get a nod, then draft.`,
87
+ ``,
88
+ `KEY INVARIANT: ${WRITING_INVARIANT}`,
89
+ ].join("\n");
90
+ // ---------------------------------------------------------------------------
91
+ // CREATIVE — fiction / poetry / narrative copy. Trust the reader.
92
+ // Invariant proven by: ai_ism_check + em_dash_check + style_lint.
93
+ // ---------------------------------------------------------------------------
94
+ export const CREATIVE_INVARIANT = "Match the requested tone + audience; show, don't tell; no AI-isms, no em-dash, no adverb the verb doesn't need.";
95
+ export const CREATIVE_METHODOLOGY = [
96
+ `PROFESSIONAL CREATIVE-WRITING METHODOLOGY (reader-trusting, voice-true, AI-tell-free).`,
97
+ ...CREATIVE_STRATEGY_ARC,
98
+ ``,
99
+ `═══ CREATIVE-SPECIFIC CRAFT ═══`,
100
+ `- Understand the audience + goal = nail the GENRE, TONE, and emotional target before a single line. Noir is not whimsy. A children's tale is not a thriller.`,
101
+ `- Gather context = if a style, author, or prior chapter is referenced, READ it and match its texture. Don't invent a voice when one was handed to you.`,
102
+ `- SHOW, DON'T TELL. Render the moment; let the reader feel it. Trust the reader to do the work.`,
103
+ `- No em-dashes (—). No AI-isms. No adverb unless the verb genuinely needs one ("whispered", not "said quietly").`,
104
+ `- Concrete over abstract. Specific noun over generic one. A telling detail over a paragraph of mood.`,
105
+ `- Tie every craft choice to the emotional goal from Phase 1: this image, this rhythm, this line break is here BECAUSE it serves the feeling the piece is for. Then refine: read it aloud in your head, cut the line that's only there to sound clever.`,
106
+ ``,
107
+ `KEY INVARIANT: ${CREATIVE_INVARIANT}`,
108
+ ].join("\n");
109
+ // ---------------------------------------------------------------------------
110
+ // DESIGN — spec the component, justify against the user / brand.
111
+ // Invariant proven by: source_gate (every design choice cites the
112
+ // user-need / brief / token it serves).
113
+ // ---------------------------------------------------------------------------
114
+ export const DESIGN_INVARIANT = "Every design choice cites the user-need / brand / token it serves; specs cover all states; no decoration-without-reason.";
115
+ export const DESIGN_METHODOLOGY = [
116
+ `PROFESSIONAL DESIGN METHODOLOGY (user-first, system-grounded, complete specs).`,
117
+ ...CREATIVE_STRATEGY_ARC,
118
+ ``,
119
+ `═══ DESIGN-SPECIFIC CRAFT ═══`,
120
+ `- Understand the audience + goal = name the USER and the JOB the surface does before you draw a box. "A returning admin scanning for the one broken deploy" designs differently than "a first-time visitor deciding whether to trust us."`,
121
+ `- Gather context = READ the existing design system first: tokens, component library (shadcn or whatever lives in the repo), spacing scale, prior patterns. Don't reinvent what the system already defines. Use design tokens (theme.colors.amber.500, theme.spacing.4), not raw hex / px, unless the ask is to DEFINE tokens.`,
122
+ `- Produce COMPLETE specs. Every component spec covers all required states: default, hover, focus, focus-visible, active, disabled, error, loading. A spec missing a state is incomplete. Every interactive spec names keyboard behavior (tab order, focus ring, Enter/Space/Escape) and an ARIA role/label.`,
123
+ `- Tie every choice to the user-need / brand / token it serves (this is what source_gate enforces): "amber-500 fill BECAUSE it's the primary action token and this is the one thing we want clicked." Not "amber because it looks nice."`,
124
+ `- Refine against accessibility + the goal: contrast, target size, motion-reduction. Cut ornament that doesn't earn its place.`,
125
+ ``,
126
+ `KEY INVARIANT: ${DESIGN_INVARIANT}`,
127
+ ].join("\n");
128
+ // ---------------------------------------------------------------------------
129
+ // BUSINESS — strategy / market / competitive. Data over opinion.
130
+ // Invariant proven by: source_gate (every recommendation cites the data /
131
+ // evidence it rests on — no HiPPO "I think").
132
+ // ---------------------------------------------------------------------------
133
+ export const BUSINESS_INVARIANT = "Every recommendation cites the user need / data it serves; no HiPPO 'I think'; name the 2-3 strongest counterarguments.";
134
+ export const BUSINESS_METHODOLOGY = [
135
+ `PROFESSIONAL BUSINESS-STRATEGY METHODOLOGY (evidence-led, counterargued, decision-useful).`,
136
+ ...CREATIVE_STRATEGY_ARC,
137
+ ``,
138
+ `═══ BUSINESS-SPECIFIC CRAFT ═══`,
139
+ `- Understand the audience + goal = name the DECISION on the table and WHO has to make it. A board update, a market-entry call, and a competitive teardown are different deliverables. Frame to the decision, not to "everything about the market."`,
140
+ `- Gather context = READ the data, the deck, the financials, the user research, the actual competitor pages BEFORE concluding. Never assert a market fact from memory when a primary source is available. If a number isn't sourced, mark it "[estimate — assumptions: ...]" with the inputs visible.`,
141
+ `- Produce a clear recommendation, not a menu of considerations. Lead with the call, then the reasoning.`,
142
+ `- NO HiPPO. Every recommendation cites the user-need or the data it serves: "Enter the mid-market BECAUSE 62% of inbound (Q1 data) is sub-500-seat and our CAC there is 3x better." Reasoning that's just "I think" or "in my experience" is not a finding — it's an opinion, and source_gate blocks it until it points at evidence.`,
143
+ `- SHOW THE WORK on any number: market size, LTV/CAC, payback — show the formula and the inputs, never a bare figure.`,
144
+ `- Before defending a recommendation, name its 2-3 STRONGEST counterarguments honestly. Then refine. A strategy that hasn't met its objections isn't ready.`,
145
+ ``,
146
+ `KEY INVARIANT: ${BUSINESS_INVARIANT}`,
147
+ ].join("\n");
148
+ // ---------------------------------------------------------------------------
149
+ // PRODUCT — PRDs / roadmaps / prioritization. User-need over feature.
150
+ // Invariant proven by: source_gate (every rec cites the user need /
151
+ // research it serves).
152
+ // ---------------------------------------------------------------------------
153
+ export const PRODUCT_INVARIANT = "Every recommendation cites the user need / research / data it serves; no HiPPO 'I think'; ship reasoning, not features.";
154
+ export const PRODUCT_METHODOLOGY = [
155
+ `PROFESSIONAL PRODUCT METHODOLOGY (user-need-first, research-grounded, prioritization-honest).`,
156
+ ...CREATIVE_STRATEGY_ARC,
157
+ ``,
158
+ `═══ PRODUCT-SPECIFIC CRAFT ═══`,
159
+ `- Understand the audience + goal = name the USER and the PROBLEM before any solution. Start a PRD with the problem statement and the user it hurts, not the feature. "Users churn at onboarding step 3" precedes "add a progress bar."`,
160
+ `- Gather context = READ the user interviews, the analytics, the support tickets, the prior PRDs FIRST. Synthesize what's actually there. Don't assume a user-need; cite where you saw it. If you're inferring, mark it "[hypothesis — to validate]".`,
161
+ `- Produce decision-ready artifacts: a PRD with problem / user / success-metric / scope / out-of-scope, or a ranked backlog with the framework shown (RICE, etc.).`,
162
+ `- Every recommendation CITES THE USER NEED it serves: "Prioritize SSO BECAUSE 7 of 9 lost enterprise deals (CRM, last quarter) named it as a blocker." Not "I think SSO is important." source_gate blocks any prioritization or feature call that doesn't point at a user-need / research / data signal.`,
163
+ `- SHOW THE PRIORITIZATION MATH. If you rank with RICE, show reach/impact/confidence/effort per item, not just the final order.`,
164
+ `- Refine against the success metric: would this move it? State what you'd instrument to know, and what you're still uncertain about.`,
165
+ ``,
166
+ `KEY INVARIANT: ${PRODUCT_INVARIANT}`,
167
+ ].join("\n");
168
+ // ---------------------------------------------------------------------------
169
+ // Machine-readable verifier assignment for the five domains. Wire these
170
+ // into the matching profile's `verifiers` array in seeds.ts (do NOT edit
171
+ // seeds.ts from here — this is the source of truth for the assignment).
172
+ //
173
+ // writing/creative -> ai_ism_check + em_dash_check + style_lint
174
+ // business/product/design -> source_gate
175
+ // ---------------------------------------------------------------------------
176
+ export const STRATEGY_DOMAIN_VERIFIERS = {
177
+ writing: ["ai_ism_check", "em_dash_check", "style_lint"],
178
+ creative: ["ai_ism_check", "em_dash_check", "style_lint"],
179
+ business: ["source_gate"],
180
+ product: ["source_gate"],
181
+ design: ["source_gate"],
182
+ };
183
+ // Convenience: every methodology + invariant keyed by domain slug, for
184
+ // callers that want to look them up dynamically (e.g. the server-side
185
+ // profile override path).
186
+ export const STRATEGY_DOMAIN_METHODOLOGIES = {
187
+ writing: { methodology: WRITING_METHODOLOGY, invariant: WRITING_INVARIANT },
188
+ creative: { methodology: CREATIVE_METHODOLOGY, invariant: CREATIVE_INVARIANT },
189
+ design: { methodology: DESIGN_METHODOLOGY, invariant: DESIGN_INVARIANT },
190
+ business: { methodology: BUSINESS_METHODOLOGY, invariant: BUSINESS_INVARIANT },
191
+ product: { methodology: PRODUCT_METHODOLOGY, invariant: PRODUCT_INVARIANT },
192
+ };
193
+ //# sourceMappingURL=strategy_domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy_domains.js","sourceRoot":"","sources":["../../../src/profiles/methodologies/strategy_domains.ts"],"names":[],"mappings":"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"}