@aibvf/core 0.3.2 → 0.3.4

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.
@@ -0,0 +1,40 @@
1
+ import type { ProcessSignals, BrainVerdict, Intervention, FunctionId, EvidenceMaturity } from './types.js';
2
+ /**
3
+ * AI BVF Advisor Brain — process diagnosis.
4
+ *
5
+ * Deterministic. No network. No dependencies. Implements docs/brain-spec.md
6
+ * (the four models) calibrated by docs/evidence-table.md (the effectiveness
7
+ * bands). Given observed process signals it returns a BrainVerdict: the
8
+ * "this is too heavy → do X → save €Y → want me to get it done?" call, with
9
+ * confidence governed by how much was actually measured.
10
+ *
11
+ * Reuses the kernel's READINESS_CAPTURE so an org that can't absorb change
12
+ * doesn't get credited the gross saving.
13
+ */
14
+ export declare const BRAIN_VERSION = "0.1";
15
+ interface Band {
16
+ lo: number;
17
+ hi: number;
18
+ maturity: EvidenceMaturity;
19
+ }
20
+ /**
21
+ * DRAFT per-function medians for normalising cycle time + handoffs into a
22
+ * heaviness penalty. Pending calibration vs APQC process-cost distributions
23
+ * (evidence-table "honest gaps"). Directional, not audited.
24
+ */
25
+ export declare const FUNCTION_MEDIANS: Record<FunctionId, {
26
+ cycle_days: number;
27
+ handoffs: number;
28
+ }>;
29
+ /**
30
+ * Per-(function × intervention) effectiveness bands, transcribed from
31
+ * docs/evidence-table.md. Conservative — haircut from cited headline
32
+ * benchmarks. Cells absent here fall back to CROSS_CUTTING.
33
+ */
34
+ export declare const EVIDENCE: Partial<Record<FunctionId, Partial<Record<Intervention, Band>>>>;
35
+ /**
36
+ * Diagnose one process. Deterministic: same signals in, same verdict out.
37
+ */
38
+ export declare function diagnoseProcess(s: ProcessSignals): BrainVerdict;
39
+ export {};
40
+ //# sourceMappingURL=diagnose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EAAE,YAAY,EAAE,YAAY,EAC1C,UAAU,EAA6B,gBAAgB,EACxD,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,QAAQ,CAAC;AAKnC,UAAU,IAAI;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAC;CAAE;AAEtE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CASzF,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAsCrF,CAAC;AAwBF;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,YAAY,CAqH/D"}
@@ -0,0 +1,217 @@
1
+ import { READINESS_CAPTURE } from './score.js';
2
+ /**
3
+ * AI BVF Advisor Brain — process diagnosis.
4
+ *
5
+ * Deterministic. No network. No dependencies. Implements docs/brain-spec.md
6
+ * (the four models) calibrated by docs/evidence-table.md (the effectiveness
7
+ * bands). Given observed process signals it returns a BrainVerdict: the
8
+ * "this is too heavy → do X → save €Y → want me to get it done?" call, with
9
+ * confidence governed by how much was actually measured.
10
+ *
11
+ * Reuses the kernel's READINESS_CAPTURE so an org that can't absorb change
12
+ * doesn't get credited the gross saving.
13
+ */
14
+ export const BRAIN_VERSION = '0.1';
15
+ const clamp01 = (x) => Math.max(0, Math.min(1, x));
16
+ const round2 = (x) => Math.round(x * 100) / 100;
17
+ /**
18
+ * DRAFT per-function medians for normalising cycle time + handoffs into a
19
+ * heaviness penalty. Pending calibration vs APQC process-cost distributions
20
+ * (evidence-table "honest gaps"). Directional, not audited.
21
+ */
22
+ export const FUNCTION_MEDIANS = {
23
+ finance: { cycle_days: 5, handoffs: 4 },
24
+ hr: { cycle_days: 7, handoffs: 4 },
25
+ sales: { cycle_days: 14, handoffs: 3 },
26
+ supply: { cycle_days: 10, handoffs: 5 },
27
+ cx: { cycle_days: 1, handoffs: 2 },
28
+ risk: { cycle_days: 7, handoffs: 4 },
29
+ it: { cycle_days: 2, handoffs: 3 },
30
+ rd: { cycle_days: 30, handoffs: 4 },
31
+ };
32
+ /** Heaviness factor weights (sum to 1.0). brain-spec §3.2. */
33
+ const HEAVINESS_WEIGHTS = { manual: 0.25, rework: 0.20, handoffs: 0.20, wait: 0.20, cycle: 0.15 };
34
+ /** Cross-cutting fallback bands (process-mining grounded). evidence-table. */
35
+ const CROSS_CUTTING = {
36
+ 'Automate': { lo: 0.30, hi: 0.50, maturity: 'Medium' },
37
+ 'Consolidate & re-sequence': { lo: 0.20, hi: 0.40, maturity: 'Medium' },
38
+ 'Quality controls': { lo: 0.40, hi: 0.70, maturity: 'Medium' },
39
+ 'Eliminate / insource': { lo: 0.60, hi: 0.90, maturity: 'Low' },
40
+ };
41
+ /**
42
+ * Per-(function × intervention) effectiveness bands, transcribed from
43
+ * docs/evidence-table.md. Conservative — haircut from cited headline
44
+ * benchmarks. Cells absent here fall back to CROSS_CUTTING.
45
+ */
46
+ export const EVIDENCE = {
47
+ finance: {
48
+ 'Automate': { lo: 0.40, hi: 0.65, maturity: 'High' },
49
+ 'Quality controls': { lo: 0.30, hi: 0.55, maturity: 'Medium' },
50
+ 'Consolidate & re-sequence': { lo: 0.20, hi: 0.35, maturity: 'Medium' },
51
+ 'Eliminate / insource': { lo: 0.50, hi: 0.80, maturity: 'Low' },
52
+ },
53
+ hr: {
54
+ 'Automate': { lo: 0.35, hi: 0.60, maturity: 'High' },
55
+ 'Consolidate & re-sequence': { lo: 0.20, hi: 0.35, maturity: 'Medium' },
56
+ 'Quality controls': { lo: 0.25, hi: 0.45, maturity: 'Low' },
57
+ 'Eliminate / insource': { lo: 0.50, hi: 0.80, maturity: 'Low' },
58
+ },
59
+ supply: {
60
+ 'Automate': { lo: 0.25, hi: 0.45, maturity: 'Medium' },
61
+ 'Quality controls': { lo: 0.30, hi: 0.55, maturity: 'Medium' },
62
+ 'Consolidate & re-sequence': { lo: 0.20, hi: 0.40, maturity: 'Medium' },
63
+ 'Eliminate / insource': { lo: 0.60, hi: 0.90, maturity: 'Low' },
64
+ },
65
+ cx: {
66
+ 'Automate': { lo: 0.35, hi: 0.60, maturity: 'High' },
67
+ 'Quality controls': { lo: 0.25, hi: 0.45, maturity: 'Medium' },
68
+ },
69
+ it: {
70
+ 'Automate': { lo: 0.30, hi: 0.55, maturity: 'High' },
71
+ 'Consolidate & re-sequence': { lo: 0.30, hi: 0.55, maturity: 'High' },
72
+ 'Quality controls': { lo: 0.25, hi: 0.45, maturity: 'Medium' },
73
+ },
74
+ risk: {
75
+ 'Quality controls': { lo: 0.30, hi: 0.50, maturity: 'Medium' },
76
+ 'Automate': { lo: 0.30, hi: 0.55, maturity: 'Medium' },
77
+ },
78
+ sales: {
79
+ 'Automate': { lo: 0.30, hi: 0.50, maturity: 'Low' },
80
+ },
81
+ rd: {
82
+ 'Automate': { lo: 0.20, hi: 0.40, maturity: 'Medium' },
83
+ },
84
+ };
85
+ const MATURITY_EVIDENCE = { High: 0.9, Medium: 0.6, Low: 0.3 };
86
+ /** Low-volume threshold below which a heavy process is an Eliminate candidate. DRAFT. */
87
+ const ELIMINATE_VOLUME = 250;
88
+ function bandFor(fn, iv) {
89
+ return EVIDENCE[fn]?.[iv] ?? CROSS_CUTTING[iv];
90
+ }
91
+ function dominantFactor(d) {
92
+ return Object.keys(d).reduce((a, b) => (d[b] > d[a] ? b : a));
93
+ }
94
+ /**
95
+ * Saturated signals (penalty near 0 or 1) mean we are extrapolating beyond the
96
+ * range the bands were calibrated on → lower fit. Mid-range signals → high fit.
97
+ */
98
+ function benchmarkFit(penalties) {
99
+ const saturated = penalties.filter(p => p > 0.95 || p < 0.05).length;
100
+ return clamp01(1 - saturated / penalties.length);
101
+ }
102
+ /**
103
+ * Diagnose one process. Deterministic: same signals in, same verdict out.
104
+ */
105
+ export function diagnoseProcess(s) {
106
+ const fn = s.function;
107
+ const med = FUNCTION_MEDIANS[fn];
108
+ if (!med)
109
+ throw new Error(`Unknown function: ${fn}`);
110
+ const readiness = s.readiness ?? 'traditional';
111
+ const cap = READINESS_CAPTURE[readiness];
112
+ if (!cap)
113
+ throw new Error(`Unknown readiness: ${readiness}`);
114
+ // ── 3.1 baseline cost ("your current spend") ──
115
+ const labour_cost = s.instances_per_year * s.fte_hours_per_instance * s.loaded_hourly_rate_eur;
116
+ const baseline_cost_eur = Math.round(labour_cost + s.direct_spend_eur);
117
+ if (baseline_cost_eur <= 0)
118
+ throw new Error('baseline_cost_eur must be positive — check signal inputs');
119
+ // ── 3.2 heaviness index + drag decomposition ──
120
+ const cycle_penalty = clamp01(s.cycle_time_days / (2 * med.cycle_days));
121
+ const handoff_penalty = clamp01(s.handoffs / (2 * med.handoffs));
122
+ const rework_penalty = clamp01(s.rework_rate);
123
+ const manual_penalty = clamp01(1 - s.automation_level);
124
+ const wait_penalty = clamp01(1 - s.touch_ratio);
125
+ const w = HEAVINESS_WEIGHTS;
126
+ const weighted = {
127
+ manual: manual_penalty * w.manual,
128
+ rework: rework_penalty * w.rework,
129
+ handoffs: handoff_penalty * w.handoffs,
130
+ wait: wait_penalty * w.wait,
131
+ cycle: cycle_penalty * w.cycle,
132
+ };
133
+ const heavySum = weighted.manual + weighted.rework + weighted.handoffs + weighted.wait + weighted.cycle;
134
+ const heaviness = Math.round(100 * heavySum); // weights sum to 1, penalties 0..1 → 0..100
135
+ const drag_decomposition = heavySum > 0 ? {
136
+ manual: round2(weighted.manual / heavySum),
137
+ handoffs: round2(weighted.handoffs / heavySum),
138
+ wait: round2(weighted.wait / heavySum),
139
+ rework: round2(weighted.rework / heavySum),
140
+ cycle: round2(weighted.cycle / heavySum),
141
+ } : { manual: 0, handoffs: 0, wait: 0, rework: 0, cycle: 0 };
142
+ // ── 3.3 intervention selector + addressable fraction ──
143
+ const labour_fraction = clamp01(labour_cost / ((labour_cost + s.direct_spend_eur) || 1));
144
+ let intervention;
145
+ let addressable;
146
+ if (s.instances_per_year < ELIMINATE_VOLUME && heaviness >= 50) {
147
+ intervention = 'Eliminate / insource';
148
+ addressable = 1.0;
149
+ }
150
+ else {
151
+ const dominant = dominantFactor(drag_decomposition);
152
+ if (dominant === 'manual') {
153
+ intervention = 'Automate';
154
+ addressable = labour_fraction;
155
+ }
156
+ else if (dominant === 'rework') {
157
+ intervention = 'Quality controls';
158
+ addressable = clamp01(s.rework_rate);
159
+ }
160
+ else { // handoffs | wait | cycle
161
+ intervention = 'Consolidate & re-sequence';
162
+ addressable = labour_fraction;
163
+ }
164
+ }
165
+ const band = bandFor(fn, intervention);
166
+ // ── 3.4 savings quantifier ──
167
+ const gross_low = baseline_cost_eur * addressable * band.lo;
168
+ const gross_high = baseline_cost_eur * addressable * band.hi;
169
+ const net_saving_low_eur = Math.round(gross_low * cap.low);
170
+ const net_saving_high_eur = Math.round(gross_high * cap.high);
171
+ const eff_mid = (band.lo + band.hi) / 2;
172
+ const efficiency_gain_pct = Math.round(eff_mid * addressable * 100);
173
+ // ── §4 decision confidence ──
174
+ const signal_completeness = clamp01(s.signal_completeness ?? 0.7);
175
+ const intervention_evidence = MATURITY_EVIDENCE[band.maturity];
176
+ const benchmark_fit = benchmarkFit([cycle_penalty, handoff_penalty, rework_penalty, manual_penalty, wait_penalty]);
177
+ const decision_confidence = round2(0.5 * signal_completeness + 0.4 * intervention_evidence + 0.1 * benchmark_fit);
178
+ // ── §4 verdict (on the intervention) ──
179
+ const net_mid = (net_saving_low_eur + net_saving_high_eur) / 2;
180
+ const saving_ratio = net_mid / baseline_cost_eur;
181
+ let verdict;
182
+ if (heaviness < 25 || saving_ratio < 0.02) {
183
+ verdict = 'Stop';
184
+ }
185
+ else if (saving_ratio >= 0.05 && decision_confidence >= 0.6) {
186
+ verdict = 'Accelerate';
187
+ }
188
+ else {
189
+ verdict = 'Fix';
190
+ }
191
+ const assumptions = [
192
+ `loaded rate €${s.loaded_hourly_rate_eur}/hr`,
193
+ `${readiness} capture band ${cap.low}–${cap.high}`,
194
+ `evidence ${band.maturity} (effectiveness ${band.lo}–${band.hi})`,
195
+ `signal completeness ${signal_completeness}`,
196
+ 'heaviness bands DRAFT — pending APQC calibration',
197
+ ];
198
+ return {
199
+ process_id: s.process_id,
200
+ function: fn,
201
+ baseline_cost_eur,
202
+ heaviness,
203
+ drag_decomposition,
204
+ intervention,
205
+ net_saving_low_eur,
206
+ net_saving_high_eur,
207
+ efficiency_gain_pct,
208
+ verdict,
209
+ decision_confidence,
210
+ assumptions,
211
+ offer_to_execute: verdict === 'Accelerate',
212
+ evidence_maturity: band.maturity,
213
+ brain_version: BRAIN_VERSION,
214
+ disclaimer: 'Directional decision aid, not an audited figure.',
215
+ };
216
+ }
217
+ //# sourceMappingURL=diagnose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose.js","sourceRoot":"","sources":["../src/diagnose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=diagnose.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose.test.d.ts","sourceRoot":"","sources":["../src/diagnose.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { diagnoseProcess } from './diagnose.js';
4
+ // A heavy, mostly-manual finance process: high volume, low automation,
5
+ // real rework, fully measured.
6
+ const heavyFinance = {
7
+ process_id: 'fin-ap',
8
+ function: 'finance',
9
+ instances_per_year: 50_000,
10
+ fte_hours_per_instance: 0.5,
11
+ loaded_hourly_rate_eur: 60,
12
+ cycle_time_days: 12,
13
+ touch_ratio: 0.3,
14
+ handoffs: 6,
15
+ rework_rate: 0.25,
16
+ automation_level: 0.1,
17
+ direct_spend_eur: 200_000,
18
+ signal_completeness: 0.9,
19
+ readiness: 'traditional',
20
+ };
21
+ test('baseline cost = labour + direct spend', () => {
22
+ const v = diagnoseProcess(heavyFinance);
23
+ // 50000 * 0.5 * 60 = 1_500_000 + 200_000 = 1_700_000
24
+ assert.equal(v.baseline_cost_eur, 1_700_000);
25
+ });
26
+ test('deterministic: same input → identical output', () => {
27
+ assert.deepEqual(diagnoseProcess(heavyFinance), diagnoseProcess(heavyFinance));
28
+ });
29
+ test('heavy manual finance process → Automate + Accelerate + offer', () => {
30
+ const v = diagnoseProcess(heavyFinance);
31
+ assert.equal(v.intervention, 'Automate');
32
+ assert.equal(v.verdict, 'Accelerate');
33
+ assert.equal(v.offer_to_execute, true);
34
+ assert.equal(v.evidence_maturity, 'High'); // finance×Automate
35
+ });
36
+ test('bounds: heaviness 0..100, confidence 0..1, savings ordered', () => {
37
+ const v = diagnoseProcess(heavyFinance);
38
+ assert.ok(v.heaviness >= 0 && v.heaviness <= 100);
39
+ assert.ok(v.decision_confidence >= 0 && v.decision_confidence <= 1);
40
+ assert.ok(v.net_saving_low_eur <= v.net_saving_high_eur);
41
+ const sum = Object.values(v.drag_decomposition).reduce((a, b) => a + b, 0);
42
+ assert.ok(Math.abs(sum - 1) < 0.02); // decomposition normalised
43
+ });
44
+ test('light process → low heaviness → Stop', () => {
45
+ const light = {
46
+ ...heavyFinance,
47
+ process_id: 'fin-light',
48
+ automation_level: 0.95,
49
+ rework_rate: 0.01,
50
+ handoffs: 1,
51
+ touch_ratio: 0.95,
52
+ cycle_time_days: 1,
53
+ };
54
+ const v = diagnoseProcess(light);
55
+ assert.ok(v.heaviness < 25, `expected light, got heaviness ${v.heaviness}`);
56
+ assert.equal(v.verdict, 'Stop');
57
+ });
58
+ test('low signal completeness drags confidence down', () => {
59
+ const blind = { ...heavyFinance, signal_completeness: 0.2 };
60
+ const seen = diagnoseProcess(heavyFinance).decision_confidence;
61
+ const unseen = diagnoseProcess(blind).decision_confidence;
62
+ assert.ok(unseen < seen, `expected ${unseen} < ${seen}`);
63
+ });
64
+ test('evidence fallback: rework-dominant sales uses cross-cutting Quality band', () => {
65
+ const sales = {
66
+ process_id: 'sales-rework',
67
+ function: 'sales',
68
+ instances_per_year: 10_000,
69
+ fte_hours_per_instance: 1,
70
+ loaded_hourly_rate_eur: 70,
71
+ cycle_time_days: 5,
72
+ touch_ratio: 0.8,
73
+ handoffs: 2,
74
+ rework_rate: 0.9, // rework dominates → Quality controls
75
+ automation_level: 0.8,
76
+ direct_spend_eur: 0,
77
+ signal_completeness: 0.8,
78
+ };
79
+ const v = diagnoseProcess(sales);
80
+ assert.equal(v.intervention, 'Quality controls');
81
+ // sales has no Quality cell → cross-cutting Medium
82
+ assert.equal(v.evidence_maturity, 'Medium');
83
+ });
84
+ test('low-volume heavy process → Eliminate / insource', () => {
85
+ const niche = {
86
+ ...heavyFinance,
87
+ process_id: 'fin-niche',
88
+ instances_per_year: 100, // below ELIMINATE_VOLUME
89
+ };
90
+ const v = diagnoseProcess(niche);
91
+ assert.equal(v.intervention, 'Eliminate / insource');
92
+ });
93
+ //# sourceMappingURL=diagnose.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnose.test.js","sourceRoot":"","sources":["../src/diagnose.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { validate } from './validate.js';
2
2
  export { score, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE, PACE_DRAG_RATE, } from './score.js';
3
+ export { diagnoseProcess, BRAIN_VERSION, EVIDENCE, FUNCTION_MEDIANS, } from './diagnose.js';
3
4
  export { bvfSchema } from './schema.js';
4
5
  export { INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, INDUSTRY_LABEL, FUNCTION_LABEL, TIER_LABEL } from './taxonomy.js';
5
6
  export type * from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,GAClE,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvH,mBAAmB,YAAY,CAAC;AAEhC,eAAO,MAAM,WAAW,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,GAClE,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,aAAa,EAAE,QAAQ,EAAE,gBAAgB,GAC1C,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACvH,mBAAmB,YAAY,CAAC;AAEhC,eAAO,MAAM,WAAW,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { validate } from './validate.js';
2
2
  export { score, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE, PACE_DRAG_RATE, } from './score.js';
3
+ export { diagnoseProcess, BRAIN_VERSION, EVIDENCE, FUNCTION_MEDIANS, } from './diagnose.js';
3
4
  export { bvfSchema } from './schema.js';
4
5
  export { INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, INDUSTRY_LABEL, FUNCTION_LABEL, TIER_LABEL } from './taxonomy.js';
5
6
  export const BVF_VERSION = '1.0';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,GAClE,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGvH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,KAAK,EACL,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,GAClE,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,aAAa,EAAE,QAAQ,EAAE,gBAAgB,GAC1C,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGvH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EACT,MAAM,EAAE,SAAS,EACxC,MAAM,YAAY,CAAC;AAEpB,UAAU,QAAQ;IAChB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAS/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3D,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAAkD,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAIpB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAIxF,CAAC;AA6CF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAiCpD;AAwBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA4C5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAwB7E"}
1
+ {"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAAE,WAAW,EACvB,cAAc,EAAE,eAAe,EAC/B,cAAc,EAAE,eAAe,EACT,MAAM,EAAE,SAAS,EACxC,MAAM,YAAY,CAAC;AAEpB,UAAU,QAAQ;IAChB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAS/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3D,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAAkD,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;CAIpB,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAIxF,CAAC;AAgDF;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CA6CpD;AAwBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA4C5E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAwB7E"}
package/dist/score.js CHANGED
@@ -98,6 +98,8 @@ function appliedModules(industry, fn, readiness) {
98
98
  mods.push('energy_critical_infrastructure_module');
99
99
  return mods;
100
100
  }
101
+ /** Below this signal_completeness, score() attaches a soft-inputs caveat. */
102
+ const SIGNAL_CAVEAT_THRESHOLD = 0.7;
101
103
  /**
102
104
  * Score an initiative according to AI BVF v1.0.
103
105
  * Deterministic. No network. No dependencies.
@@ -120,7 +122,17 @@ export function score(input) {
120
122
  const netLo = Math.round(grossLo * cap.low);
121
123
  const netHi = Math.round(grossHi * cap.high);
122
124
  const cls = classify(sa, fr, ce, gr);
123
- const confidence = Math.round((sa + fr + ce + (100 - gr)) / 4);
125
+ // Base confidence from the pillar scores themselves.
126
+ const baseConfidence = (sa + fr + ce + (100 - gr)) / 4;
127
+ // Input-quality haircut. signal_completeness defaults to 1 (measured), which
128
+ // leaves confidence identical to the pre-0.3.4 formula. As the inputs become
129
+ // estimated rather than measured, confidence is scaled toward half — the
130
+ // verdict is only as trustworthy as the metadata behind it.
131
+ const signal = Math.max(0, Math.min(1, input.signal_completeness ?? 1));
132
+ const confidence = Math.round(baseConfidence * (0.5 + 0.5 * signal));
133
+ const caveat = signal < SIGNAL_CAVEAT_THRESHOLD
134
+ ? `Verdict rests on soft inputs (signal_completeness ${signal}). Decision confidence has been reduced accordingly; treat this as directional and re-run with measured pillar scores before committing budget.`
135
+ : undefined;
124
136
  return {
125
137
  classification: cls.label,
126
138
  reason: cls.reason,
@@ -133,6 +145,7 @@ export function score(input) {
133
145
  drivers: base.drivers,
134
146
  source: base.source,
135
147
  applied_modules: appliedModules(industry, fn, readiness),
148
+ ...(caveat ? { caveat } : {}),
136
149
  };
137
150
  }
138
151
  const PILLAR_ACTIONS = {
package/dist/score.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=score.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score.test.d.ts","sourceRoot":"","sources":["../src/score.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ import { test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { score } from './score.js';
4
+ // Manufacturing GenAI predictive-maintenance case — the canonical smoke fixture.
5
+ const base = {
6
+ industry: 'manufacturing',
7
+ revenue_eur: 2_400_000_000,
8
+ function: 'supply',
9
+ ai_tier: 'gen2',
10
+ readiness: 'traditional',
11
+ scores: {
12
+ strategic_alignment: 72,
13
+ financial_return: 64,
14
+ change_enablement: 48,
15
+ governance_risk: 35,
16
+ },
17
+ };
18
+ test('default (no signal_completeness) leaves confidence at the pre-0.3.4 value', () => {
19
+ const v = score(base);
20
+ // (72 + 64 + 48 + (100 - 35)) / 4 = 62.25 → 62
21
+ assert.equal(v.confidence, 62);
22
+ assert.equal(v.caveat, undefined);
23
+ });
24
+ test('signal_completeness = 1 is identical to omitting it', () => {
25
+ assert.deepEqual(score({ ...base, signal_completeness: 1 }), score(base));
26
+ });
27
+ test('low signal_completeness haircuts confidence and attaches a caveat', () => {
28
+ const soft = score({ ...base, signal_completeness: 0.4 });
29
+ // 62.25 * (0.5 + 0.5*0.4) = 62.25 * 0.7 = 43.575 → 44
30
+ assert.equal(soft.confidence, 44);
31
+ assert.ok(soft.caveat && soft.caveat.includes('soft inputs'));
32
+ });
33
+ test('confidence is monotonic in signal_completeness', () => {
34
+ const lo = score({ ...base, signal_completeness: 0.2 }).confidence;
35
+ const mid = score({ ...base, signal_completeness: 0.6 }).confidence;
36
+ const hi = score({ ...base, signal_completeness: 1.0 }).confidence;
37
+ assert.ok(lo < mid && mid < hi, `expected ${lo} < ${mid} < ${hi}`);
38
+ });
39
+ test('signal_completeness is clamped to [0,1] and never changes classification', () => {
40
+ const over = score({ ...base, signal_completeness: 5 });
41
+ const under = score({ ...base, signal_completeness: -3 });
42
+ assert.equal(over.confidence, 62); // clamped to 1
43
+ assert.equal(over.caveat, undefined);
44
+ assert.equal(under.classification, score(base).classification); // clamped to 0, verdict unchanged
45
+ assert.ok(under.caveat); // soft inputs flagged
46
+ });
47
+ test('caveat appears at the threshold boundary, not above it', () => {
48
+ assert.equal(score({ ...base, signal_completeness: 0.7 }).caveat, undefined); // 0.7 is not < 0.7
49
+ assert.ok(score({ ...base, signal_completeness: 0.69 }).caveat);
50
+ });
51
+ //# sourceMappingURL=score.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score.test.js","sourceRoot":"","sources":["../src/score.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -51,6 +51,15 @@ export interface ScoreInput {
51
51
  change_enablement: number;
52
52
  governance_risk: number;
53
53
  };
54
+ /**
55
+ * Optional 0–1. How grounded the four pillar scores are in real evidence
56
+ * versus estimated from context. Defaults to 1 (treated as measured), which
57
+ * leaves confidence unchanged. Lower values honestly haircut decision
58
+ * confidence and attach a caveat — the answer to "the scoring is only as
59
+ * good as the metadata you feed it". Mirrors diagnose_process's
60
+ * signal_completeness.
61
+ */
62
+ signal_completeness?: number;
54
63
  }
55
64
  export interface ScoreResult {
56
65
  classification: Classification;
@@ -69,6 +78,8 @@ export interface ScoreResult {
69
78
  drivers: string[];
70
79
  source: string;
71
80
  applied_modules: string[];
81
+ /** Present only when signal_completeness is low: warns the verdict rests on soft inputs. */
82
+ caveat?: string;
72
83
  }
73
84
  export interface RecommendInput extends ScoreInput {
74
85
  }
@@ -111,4 +122,48 @@ export interface ValidationResult {
111
122
  valid: boolean;
112
123
  errors: ValidationError[];
113
124
  }
125
+ export type Intervention = 'Automate' | 'Consolidate & re-sequence' | 'Quality controls' | 'Eliminate / insource';
126
+ export type EvidenceMaturity = 'High' | 'Medium' | 'Low';
127
+ /** Source-agnostic process signals the agent extracts from digital exhaust. */
128
+ export interface ProcessSignals {
129
+ process_id: string;
130
+ function: FunctionId;
131
+ instances_per_year: number;
132
+ fte_hours_per_instance: number;
133
+ loaded_hourly_rate_eur: number;
134
+ cycle_time_days: number;
135
+ touch_ratio: number;
136
+ handoffs: number;
137
+ rework_rate: number;
138
+ automation_level: number;
139
+ direct_spend_eur: number;
140
+ signal_completeness?: number;
141
+ readiness?: Readiness;
142
+ }
143
+ export interface DragDecomposition {
144
+ manual: number;
145
+ handoffs: number;
146
+ wait: number;
147
+ rework: number;
148
+ cycle: number;
149
+ }
150
+ /** The Brain's verdict on one process — both the proposal and the one-pager. */
151
+ export interface BrainVerdict {
152
+ process_id: string;
153
+ function: FunctionId;
154
+ baseline_cost_eur: number;
155
+ heaviness: number;
156
+ drag_decomposition: DragDecomposition;
157
+ intervention: Intervention;
158
+ net_saving_low_eur: number;
159
+ net_saving_high_eur: number;
160
+ efficiency_gain_pct: number;
161
+ verdict: Classification;
162
+ decision_confidence: number;
163
+ assumptions: string[];
164
+ offer_to_execute: boolean;
165
+ evidence_maturity: EvidenceMaturity;
166
+ brain_version: string;
167
+ disclaimer: string;
168
+ }
114
169
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@aibvf/core",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "AI BVF — open protocol for scoring AI investments. Validator and scoring engine.",
5
- "keywords": ["ai", "bvf", "ai-governance", "enterprise-ai", "ai-scoring", "ai-roi", "eu-ai-act", "standards"],
5
+ "keywords": [
6
+ "ai",
7
+ "bvf",
8
+ "ai-governance",
9
+ "enterprise-ai",
10
+ "ai-scoring",
11
+ "ai-roi",
12
+ "eu-ai-act",
13
+ "standards"
14
+ ],
6
15
  "homepage": "https://www.aibvf.com/protocol",
7
16
  "repository": "github:Bahamas1717/ai-bvf",
8
17
  "license": "MIT",
@@ -11,10 +20,20 @@
11
20
  "main": "dist/index.js",
12
21
  "types": "dist/index.d.ts",
13
22
  "exports": {
14
- ".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
15
- "./schema": { "import": "./dist/schema.js", "types": "./dist/schema.d.ts" }
23
+ ".": {
24
+ "import": "./dist/index.js",
25
+ "types": "./dist/index.d.ts"
26
+ },
27
+ "./schema": {
28
+ "import": "./dist/schema.js",
29
+ "types": "./dist/schema.d.ts"
30
+ }
16
31
  },
17
- "files": ["dist", "README.md", "LICENSE"],
32
+ "files": [
33
+ "dist",
34
+ "README.md",
35
+ "LICENSE"
36
+ ],
18
37
  "scripts": {
19
38
  "build": "tsc",
20
39
  "test": "node --test dist/*.test.js"