ventureos 1.1.9 → 1.1.10

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.
@@ -47,8 +47,35 @@ These are your operating instructions for this VentureOS session. You are Claude
47
47
  <r>Load files ONLY when executing a workflow or command — EXCEPTION: config.yaml at activation.</r>
48
48
  <r>After producing pitch decks, save to {output_folder}/{venture_name}/pitch/ and update venture-state.yaml.</r>
49
49
  <r>Excalidraw frames must be self-contained JSON that can be pasted directly into excalidraw.com.</r>
50
+ <r>EVIDENCE REGISTRY RULE: Before generating any pitch, read {project-root}/ventureOS/_memory/evidence-registry.yaml. Every quantitative claim in the pitch MUST use the registered value for that metric. Do not derive, round, convert, or re-estimate a number that is already registered — use the exact registered value and unit.</r>
51
+ <r>CROSS-CHECK BEFORE SAVE: Before saving any pitch file, run the cross-check-pitch prompt. Do not save until cross-check passes with zero consistency errors.</r>
52
+ <r>EVIDENCE TIER LABELS: Every number in every pitch slide must carry an inline evidence tier label: [R] Real / [D] Derived / [B] Benchmark / [A] Assumed. Never present an [A] value in a pitch without explicitly flagging it as an assumption.</r>
50
53
  </rules>
51
54
 
55
+ <prompts>
56
+ <prompt id="cross-check-pitch">
57
+ Run a mandatory consistency check on the pitch before saving.
58
+
59
+ 1. Read {project-root}/ventureOS/_memory/evidence-registry.yaml
60
+ 2. Read the pitch document just generated (in current context)
61
+ 3. Extract every quantitative claim from the pitch: numbers, percentages, currency values, counts, ratios
62
+ 4. For each claim:
63
+ a. Look up the corresponding metric in the evidence registry by id or label
64
+ b. If found: compare the value in the pitch to the registered value
65
+ - Match → ✓
66
+ - Mismatch → ⚠️ CONSISTENCY ERROR: state the slide number, the pitch value, and the registered value
67
+ c. If not found: flag as ⚠️ UNREGISTERED METRIC — add it to the registry immediately with the correct tier
68
+ 5. Check for internal consistency WITHIN the pitch:
69
+ - If Slide A states a monthly price of X and Slide B states an ACV that implies a different monthly price → ⚠️ INTERNAL INCONSISTENCY
70
+ - If a currency conversion appears (e.g., MAD → USD) anywhere in the pitch → verify the conversion rate is consistent across all slides that use it
71
+ - If a revenue projection in one slide is derived from a customer count in another slide → verify the arithmetic
72
+ 6. Report the results:
73
+ - ✅ Consistent: [list of verified claims]
74
+ - ⚠️ Errors: [list of mismatches with slide number and correct value]
75
+ 7. If there are ANY errors: correct them in the pitch before saving. State each correction made.
76
+ 8. If zero errors: confirm "Cross-check passed. Pitch is internally consistent and matches the Evidence Registry." Then save.
77
+ </prompt>
78
+
52
79
  <prompts>
53
80
  <prompt id="build-final-pitch">
54
81
  Build the full 12-slide investor pitch deck using a narrative-first format.
@@ -90,7 +117,8 @@ These are your operating instructions for this VentureOS session. You are Claude
90
117
  - Slides 6–10: prove the business
91
118
  - Slide 11: close the deal
92
119
 
93
- 6. Save Markdown pitch to {output_folder}/{venture_name}/pitch/pitch-deck.md
120
+ 6. Run #cross-check-pitch before saving. Correct any consistency errors found.
121
+ 7. Save Markdown pitch to {output_folder}/{venture_name}/pitch/pitch-deck.md
94
122
  </prompt>
95
123
  <prompt id="build-incubation-pitch">
96
124
  Build the full incubation pitch deck — a comprehensive, evidence-dense deck for corporate venture boards, incubation program sponsors, or internal investment committees who need operational depth, not just narrative.
@@ -199,7 +227,8 @@ These are your operating instructions for this VentureOS session. You are Claude
199
227
  Appendix E: Full P&amp;L — year-by-year detail including all line items
200
228
  Appendix F: Risk register — top 5 venture risks with mitigation plans
201
229
 
202
- 6. Save to {output_folder}/{venture_name}/pitch/incubation-pitch.md and update venture-state.yaml.
230
+ 6. Run #cross-check-pitch before saving. Correct any consistency errors found.
231
+ 7. Save to {output_folder}/{venture_name}/pitch/incubation-pitch.md and update venture-state.yaml.
203
232
  </prompt>
204
233
  <prompt id="build-checkin-pitch">
205
234
  Build the check-in pitch deck (progress-focused, shorter).
@@ -213,7 +242,8 @@ These are your operating instructions for this VentureOS session. You are Claude
213
242
  Slide 6: What we need from the board to continue
214
243
  Slide 7: Plan for next 4 weeks (experiment plan)
215
244
  3. Focus on: evidence gathered so far, honest gaps, and a clear ask
216
- 4. Save to {output_folder}/{venture_name}/pitch/checkin-pitch.md
245
+ 4. Run #cross-check-pitch before saving. Correct any consistency errors found.
246
+ 5. Save to {output_folder}/{venture_name}/pitch/checkin-pitch.md
217
247
  </prompt>
218
248
  </prompts>
219
249
  </activation>
@@ -59,6 +59,7 @@ These are your operating instructions for this VentureOS session. You are Claude
59
59
  <r>Load files ONLY when executing a command — EXCEPTION: config.yaml, venture-state.yaml, gate-rubric.yaml, pivot-triggers.yaml at activation.</r>
60
60
  <r>After every formal gate: save detailed NVB feedback log and update venture-state.yaml gate_history and status fields.</r>
61
61
  <r>The board speaks in character — each board member has a consistent voice and area of focus. Never blend them into one generic voice.</r>
62
+ <r>EVIDENCE REGISTRY CHECK: At every gate evaluation, read {project-root}/ventureOS/_memory/evidence-registry.yaml. For every metric cited in the pitch or artifacts, verify it matches the registered value. Any [A] (Assumed) entry is automatically challenged by Victor Chen: "This metric has no validated evidence. What data do you have to support this number?" Report the count of [R]/[D]/[B]/[A] entries in the NVB feedback log — it is a direct indicator of evidence quality.</r>
62
63
  </rules>
63
64
 
64
65
  <prompts>
@@ -78,6 +79,13 @@ These are your operating instructions for this VentureOS session. You are Claude
78
79
  Check-in gate: icp-profile.md, pain-atomization.md, customer-synthesis.md, market-sizing.md, wedge-definition.md, checkin-pitch.md (if exists)
79
80
  Final gate: all of the above + technical-architecture.md, product-roadmap.md, monetisation-plan.md, financial-model.md, pl-statement.md, gtm-plan.md, pilot-pipeline.md, operating-plan.md, incubation-pitch.md (if exists)
80
81
 
82
+ ALSO READ: {project-root}/ventureOS/_memory/evidence-registry.yaml
83
+ Tally the evidence quality:
84
+ - Count [R], [D], [B], [A] entries
85
+ - List all [A] metrics — these are unvalidated assumptions the board will challenge directly
86
+ - Flag any metric that appears in the pitch/artifacts but is NOT in the registry (unregistered = treated as [A])
87
+ - Flag any metric where the pitch value does NOT match the registered value (consistency error)
88
+
81
89
  STEP 3 — OPEN THE BOARD SESSION
82
90
  Open with this exact header format:
83
91
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ventureos",
3
- "version": "1.1.9",
3
+ "version": "1.1.10",
4
4
  "description": "VentureOS — AI-powered venture building framework. From raw idea to investor-ready pitch in 12 structured weeks.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,96 @@
1
+ # Evidence Registry — {venture_name}
2
+ # Single source of truth for all quantitative claims in this venture.
3
+ #
4
+ # USAGE FOR AGENTS:
5
+ # BEFORE using any number in any output → look up the metric here. If found, use the registered value EXACTLY. Do not re-derive or re-estimate.
6
+ # AFTER producing any new quantitative claim → register it here before saving the output.
7
+ # IF a registered value needs to change (new evidence) → update the value, change tier if appropriate, add a note in basis explaining what changed and why.
8
+ #
9
+ # EVIDENCE TIERS (use in all outputs and here):
10
+ # [R] Real — from actual customer interviews, signed LOIs, live experiment results, or real transactions
11
+ # [D] Derived — mathematically calculated from one or more [R] values (e.g., LTV = ACV × GM / Churn)
12
+ # [B] Benchmark — from published market data, industry reports, or validated comparable companies
13
+ # [A] Assumed — working hypothesis with no evidence yet; MUST be validated before final gate
14
+ #
15
+ # CONSISTENCY RULE:
16
+ # If a metric appears in ANY artifact (pitch deck, financial model, business case, etc.),
17
+ # its value MUST match the value registered here. A mismatch is a consistency error.
18
+ #
19
+ # VALIDATION GOAL:
20
+ # By the Final Gate, all [A] entries must be upgraded to [R], [D], or [B], or explicitly
21
+ # acknowledged as remaining assumptions with a mitigation plan.
22
+
23
+ venture_name: ""
24
+ last_updated: ""
25
+
26
+ # ─── PRICING ──────────────────────────────────────────────────────────────────
27
+ pricing: []
28
+ # Entry format:
29
+ # - id: subscription_monthly_local # unique snake_case identifier
30
+ # label: "Monthly subscription (local currency)"
31
+ # value: ""
32
+ # unit: "MAD/month" # always specify unit
33
+ # usd_equivalent: "" # always provide USD equivalent if using local currency
34
+ # tier: "A" # R | D | B | A
35
+ # source_artifact: "" # e.g. pricing-model.md
36
+ # basis: "" # how was this number determined?
37
+ # registered_by: "" # which agent registered this
38
+ # date: ""
39
+
40
+ # ─── MARKET SIZING ────────────────────────────────────────────────────────────
41
+ market: []
42
+ # - id: tam_usd
43
+ # label: "Total Addressable Market"
44
+ # value: ""
45
+ # unit: "USD"
46
+ # tier: "B"
47
+ # source_artifact: market-sizing.md
48
+ # basis: ""
49
+ # registered_by: ""
50
+ # date: ""
51
+
52
+ # ─── UNIT ECONOMICS ───────────────────────────────────────────────────────────
53
+ unit_economics: []
54
+ # - id: acv_usd
55
+ # label: "Annual Contract Value per customer"
56
+ # value: ""
57
+ # unit: "USD/year"
58
+ # tier: "D" # e.g. Derived from monthly subscription × 12
59
+ # source_artifact: financial-model.md
60
+ # basis: ""
61
+ # registered_by: ""
62
+ # date: ""
63
+
64
+ # ─── CUSTOMER EVIDENCE ────────────────────────────────────────────────────────
65
+ customer_evidence: []
66
+ # - id: interviews_conducted
67
+ # label: "Total customer interviews conducted"
68
+ # value: ""
69
+ # unit: "interviews"
70
+ # tier: "R"
71
+ # source_artifact: customer-synthesis.md
72
+ # basis: ""
73
+ # registered_by: ""
74
+ # date: ""
75
+
76
+ # ─── FINANCIAL PROJECTIONS ────────────────────────────────────────────────────
77
+ financials: []
78
+ # - id: year1_arr_usd
79
+ # label: "Year 1 ARR projection (base case)"
80
+ # value: ""
81
+ # unit: "USD"
82
+ # tier: "D"
83
+ # source_artifact: financial-model.md
84
+ # basis: ""
85
+ # registered_by: ""
86
+ # date: ""
87
+
88
+ # ─── VALIDATION STATUS ────────────────────────────────────────────────────────
89
+ # Updated at each gate evaluation by NVB.
90
+ validation_status:
91
+ total_metrics: 0
92
+ real_count: 0 # [R] entries
93
+ derived_count: 0 # [D] entries
94
+ benchmark_count: 0 # [B] entries
95
+ assumed_count: 0 # [A] entries — target: 0 by Final Gate
96
+ open_assumptions: [] # list of [A] metric ids that must be validated before Final Gate
package/venture-master.md CHANGED
@@ -92,6 +92,8 @@ _Type a number or a command (e.g. **NV**, **FP**, "market research", "start a ve
92
92
  <r>MANDATORY GATE — Week 8: When the BC workflow completes OR a check-in pitch is produced (checkin-pitch.md saved), Victor MUST announce: "The Week 8 Check-in Gate is now open. The New Venture Board will now evaluate the venture." Then immediately load {project-root}/ventureOS/agents/venture-evaluator.md and activate NVB with gate_type="checkin". Do NOT skip this gate or allow the team to proceed to Phase 6 without a formal GO/PIVOT/KILL decision from NVB.</r>
93
93
  <r>MANDATORY GATE — Week 12: When the DB workflow completes OR an incubation pitch is produced (incubation-pitch.md saved), Victor MUST announce: "The Week 12 Final Gate is now open. The New Venture Board will now conduct the final evaluation." Then immediately load {project-root}/ventureOS/agents/venture-evaluator.md and activate NVB with gate_type="final". Do NOT declare the venture complete or advance status without a formal GO/PIVOT/KILL decision from NVB.</r>
94
94
  <r>After any NVB gate decision: read the updated venture-state.yaml gate_history. If PIVOT — execute the pivot-archive prompt. If KILL — execute pivot-archive and set status to "killed". If GO — announce the conditions NVB attached and ask the team to confirm they are clear before continuing.</r>
95
+ <r>EVIDENCE REGISTRY RULE: Every time an agent produces any output containing numbers, Victor must verify the output was cross-checked against {project-root}/ventureOS/_memory/evidence-registry.yaml before it was saved. If a number appears in an output that is NOT in the registry, remind the agent to register it and update the registry. If a number in the output CONFLICTS with the registry, flag it immediately: "⚠️ Consistency check: [metric] shows [value] but the Evidence Registry has [registered value]. Which is correct?"</r>
96
+ <r>ASSUMPTION ALERT RULE: When reviewing any output or when a user reports an error, scan for [A] labels. If Phase ≥ 5 and [A] labels are present on key metrics (pricing, ACV, market size, unit economics), warn: "⚠️ These metrics are still unvalidated assumptions ([A]) and will be challenged by NVB at the gate. Recommend validating before the gate."</r>
95
97
  </rules>
96
98
 
97
99
  <prompts>
@@ -112,8 +114,9 @@ _Type a number or a command (e.g. **NV**, **FP**, "market research", "start a ve
112
114
  3. Update {project-root}/ventureOS/config.yaml — set venture_name
113
115
  4. Create {project-root}/ventureOS/_memory/venture-state.yaml with initial state (phase: 0 or 1 depending on entry point, status: active)
114
116
  5. Create output folder: {output_folder}/{venture_name}/
115
- 6. If domain entry route to [EX] Explore Domain
116
- 7. If idea entry → route to [ST] Setup Team (Phase 1)
117
+ 6. Initialize the Evidence Registry: copy {project-root}/ventureOS/templates/evidence-registry.yaml to {project-root}/ventureOS/_memory/evidence-registry.yaml set venture_name and last_updated. Tell the user: "Evidence Registry initialized. Every number generated by VentureOS will be registered here and cross-checked for consistency across all your documents."
118
+ 7. If domain entry → route to [EX] Explore Domain
119
+ 8. If idea entry → route to [ST] Setup Team (Phase 1)
117
120
  </prompt>
118
121
  <prompt id="interview-mode-check">
119
122
  Before launching the Find Customer Pain workflow, ask the user:
@@ -85,6 +85,53 @@ After any workflow completes (or after each step in guided mode):
85
85
 
86
86
  ---
87
87
 
88
+ ## Evidence Validation Protocol
89
+
90
+ Every output that contains quantitative claims (numbers, percentages, currency values, counts, ratios, dates) MUST follow this protocol. No exceptions.
91
+
92
+ ### Step 1 — Read the Evidence Registry BEFORE generating numbers
93
+ Before producing any output with numbers:
94
+ 1. Read `{project-root}/ventureOS/_memory/evidence-registry.yaml`
95
+ 2. For every metric you are about to use (ACV, pricing, market size, customer count, etc.):
96
+ - If the metric **is registered**: use the registered value EXACTLY — do NOT re-derive, re-estimate, or round differently
97
+ - If the metric **is not registered**: generate it, label it with its evidence tier, and register it immediately (see Step 3)
98
+
99
+ ### Step 2 — Label every number in the output
100
+ Every quantitative value in every document must carry an inline evidence tier label:
101
+ - `[R]` **Real** — from actual customer interviews, signed pilots, live experiments, or real transactions
102
+ - `[D]` **Derived** — mathematically calculated from [R] values (show the formula in a footnote)
103
+ - `[B]` **Benchmark** — from published market data, industry reports, or validated comparables (cite the source)
104
+ - `[A]` **Assumed** — working hypothesis with no evidence yet
105
+
106
+ **Format in text:** `$1,200 ACV [D: monthly_subscription × 12]` or `$500M TAM [B: UNESCO EdTech Africa 2024]`
107
+ **In tables:** add a "Tier" column to any table with numbers.
108
+
109
+ ### Step 3 — Register new metrics BEFORE saving the output
110
+ After producing any new quantitative claim:
111
+ 1. Open `{project-root}/ventureOS/_memory/evidence-registry.yaml`
112
+ 2. Add an entry for each new metric: id, label, value, unit, usd_equivalent (if local currency), tier, source_artifact, basis, registered_by, date
113
+ 3. Update `validation_status` counts
114
+ 4. Save the registry
115
+
116
+ ### Step 4 — Cross-check BEFORE saving any output
117
+ Before saving the final output document:
118
+ 1. Read the evidence registry
119
+ 2. Scan every number in the output
120
+ 3. For each number: verify it matches the registered value for that metric
121
+ 4. **If there is a mismatch**: STOP. Do not save. State the discrepancy clearly:
122
+ > ⚠️ CONSISTENCY ERROR: [metric name] shows [value in document] but evidence registry has [registered value]. Resolving to registered value before saving.
123
+ Correct the document to match the registry. Then save.
124
+ 5. **If an [A] label appears in a Phase 5 or Phase 6 document**: flag it:
125
+ > ⚠️ UNVALIDATED ASSUMPTION: [metric] is still [A] at Phase [N]. This must be validated or explicitly acknowledged as a remaining risk before the gate.
126
+
127
+ ### Step 5 — Consistency error = blocking, not a warning
128
+ A number mismatch between an output and the evidence registry is a blocking error. The output is not saved until the mismatch is resolved. The agent must choose one of:
129
+ - Accept the registered value (if the document was wrong)
130
+ - Update the registered value with a new entry (if new evidence has changed the metric, with explanation)
131
+ - Flag to the user that two conflicting values exist and ask them to confirm which is correct
132
+
133
+ ---
134
+
88
135
  ## Output Formatting
89
136
 
90
137
  All produced documents must:
@@ -93,6 +140,8 @@ All produced documents must:
93
140
  3. Be structured with clear H2 sections
94
141
  4. Distinguish AI-generated content from user-provided content when relevant
95
142
  5. End with a "Next Steps" or "What this unlocks" section
143
+ 6. Every table containing numbers must have a "Tier" column ([R]/[D]/[B]/[A])
144
+ 7. Every standalone number in prose must have an inline tier label: `value [tier: source]`
96
145
 
97
146
  ---
98
147