@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.
- package/dist/diagnose.d.ts +40 -0
- package/dist/diagnose.d.ts.map +1 -0
- package/dist/diagnose.js +217 -0
- package/dist/diagnose.js.map +1 -0
- package/dist/diagnose.test.d.ts +2 -0
- package/dist/diagnose.test.d.ts.map +1 -0
- package/dist/diagnose.test.js +93 -0
- package/dist/diagnose.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +14 -1
- package/dist/score.js.map +1 -1
- package/dist/score.test.d.ts +2 -0
- package/dist/score.test.d.ts.map +1 -0
- package/dist/score.test.js +51 -0
- package/dist/score.test.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -5
|
@@ -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"}
|
package/dist/diagnose.js
ADDED
|
@@ -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 @@
|
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/score.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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 @@
|
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAC/D,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,GAC1D,cAAc,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE/E,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7F,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3D,MAAM,MAAM,MAAM,GAAG,aAAa,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE,WAAW,CAAC;IACjC,gBAAgB,EAAE,WAAW,CAAC;IAC9B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,eAAe,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,KAAK,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE;QACN,mBAAmB,EAAE,MAAM,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;
|
|
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.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "AI BVF — open protocol for scoring AI investments. Validator and scoring engine.",
|
|
5
|
-
"keywords": [
|
|
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
|
-
".": {
|
|
15
|
-
|
|
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": [
|
|
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"
|