@aibvf/core 0.1.1 → 0.3.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.
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/inspect-node.d.ts +28 -0
- package/dist/inspect-node.d.ts.map +1 -0
- package/dist/inspect-node.js +89 -0
- package/dist/inspect-node.js.map +1 -0
- package/dist/run-trace.d.ts +18 -0
- package/dist/run-trace.d.ts.map +1 -0
- package/dist/run-trace.js +112 -0
- package/dist/run-trace.js.map +1 -0
- package/dist/score.d.ts +28 -1
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +146 -0
- package/dist/score.js.map +1 -1
- package/dist/templates.d.ts +5 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +211 -0
- package/dist/templates.js.map +1 -0
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/value-trace.d.ts +71 -0
- package/dist/value-trace.d.ts.map +1 -0
- package/dist/value-trace.js +119 -0
- package/dist/value-trace.js.map +1 -0
- package/package.json +26 -26
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
export { validate } from './validate.js';
|
|
2
|
-
export { score, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE } from './score.js';
|
|
2
|
+
export { score, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE, PACE_DRAG_RATE, } from './score.js';
|
|
3
3
|
export { bvfSchema } from './schema.js';
|
|
4
4
|
export { INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, INDUSTRY_LABEL, FUNCTION_LABEL, TIER_LABEL } from './taxonomy.js';
|
|
5
5
|
export type * from './types.js';
|
|
6
|
+
export { runTrace } from './run-trace.js';
|
|
7
|
+
export type { RunTraceInput, RunTraceOutput, RunTraceWarning } from './run-trace.js';
|
|
8
|
+
export { inspectNode } from './inspect-node.js';
|
|
9
|
+
export type { InspectNodeInput, InspectNodeOutput, RelatedNode } from './inspect-node.js';
|
|
10
|
+
export { getIndustryTemplate, TEMPLATED_INDUSTRIES } from './templates.js';
|
|
11
|
+
export { walkPaths, edgeFingerprint, findOutgoing, findIncoming, getNode, } from './value-trace.js';
|
|
12
|
+
export type { NodeType, EdgeRelation, Citation, TraceNode, TraceEdge, AccountContext, ValueTraceGraph, TracePath, TraceResult, } from './value-trace.js';
|
|
6
13
|
export declare const BVF_VERSION = "1.0";
|
|
14
|
+
export declare const TRACE_VERSION = "0.3";
|
|
7
15
|
//# sourceMappingURL=index.d.ts.map
|
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,
|
|
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;AAGhC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,WAAW,QAAQ,CAAC;AACjC,eAAO,MAAM,aAAa,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
export { validate } from './validate.js';
|
|
2
|
-
export { score, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE } from './score.js';
|
|
2
|
+
export { score, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_MULT, TIER_ADJ, READINESS_CAPTURE, PACE_DRAG_RATE, } from './score.js';
|
|
3
3
|
export { bvfSchema } from './schema.js';
|
|
4
4
|
export { INDUSTRIES, FUNCTIONS, AI_TIERS, READINESS, INDUSTRY_LABEL, FUNCTION_LABEL, TIER_LABEL } from './taxonomy.js';
|
|
5
|
+
// AI Value Trace, graph-native conversation framework (v0.3.0).
|
|
6
|
+
export { runTrace } from './run-trace.js';
|
|
7
|
+
export { inspectNode } from './inspect-node.js';
|
|
8
|
+
export { getIndustryTemplate, TEMPLATED_INDUSTRIES } from './templates.js';
|
|
9
|
+
export { walkPaths, edgeFingerprint, findOutgoing, findIncoming, getNode, } from './value-trace.js';
|
|
5
10
|
export const BVF_VERSION = '1.0';
|
|
11
|
+
export const TRACE_VERSION = '0.3';
|
|
6
12
|
//# sourceMappingURL=index.js.map
|
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,
|
|
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,gEAAgE;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EACL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAa1B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Industry } from './types.js';
|
|
2
|
+
import type { TraceNode, TraceEdge } from './value-trace.js';
|
|
3
|
+
export interface InspectNodeInput {
|
|
4
|
+
node_id: string;
|
|
5
|
+
industry: Industry;
|
|
6
|
+
}
|
|
7
|
+
export interface RelatedNode {
|
|
8
|
+
id: string;
|
|
9
|
+
type: TraceNode['type'];
|
|
10
|
+
label: string;
|
|
11
|
+
relation: TraceEdge['relation'];
|
|
12
|
+
direction: 'incoming' | 'outgoing';
|
|
13
|
+
confidence?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface InspectNodeOutput {
|
|
16
|
+
node?: TraceNode;
|
|
17
|
+
industry: Industry;
|
|
18
|
+
related: RelatedNode[];
|
|
19
|
+
incoming_edges: TraceEdge[];
|
|
20
|
+
outgoing_edges: TraceEdge[];
|
|
21
|
+
evidence_summary: string[];
|
|
22
|
+
warnings: {
|
|
23
|
+
code: string;
|
|
24
|
+
message: string;
|
|
25
|
+
}[];
|
|
26
|
+
}
|
|
27
|
+
export declare function inspectNode(input: InspectNodeInput): InspectNodeOutput;
|
|
28
|
+
//# sourceMappingURL=inspect-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-node.d.ts","sourceRoot":"","sources":["../src/inspect-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAChC,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,cAAc,EAAE,SAAS,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAkFtE"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// inspect_node, the live move.
|
|
2
|
+
//
|
|
3
|
+
// During a CIO meeting, the SCE clicks a node on the Trace Console and asks
|
|
4
|
+
// "what is the evidence here". inspect_node returns the deep grounding for a
|
|
5
|
+
// single node, all its connected edges (in and out), and the named exemplars
|
|
6
|
+
// drawn from the industry template.
|
|
7
|
+
import { getIndustryTemplate } from './templates.js';
|
|
8
|
+
import { findIncoming, findOutgoing, getNode } from './value-trace.js';
|
|
9
|
+
export function inspectNode(input) {
|
|
10
|
+
const graph = getIndustryTemplate(input.industry);
|
|
11
|
+
const node = getNode(graph, input.node_id);
|
|
12
|
+
const warnings = [];
|
|
13
|
+
if (!node) {
|
|
14
|
+
return {
|
|
15
|
+
node: undefined,
|
|
16
|
+
industry: input.industry,
|
|
17
|
+
related: [],
|
|
18
|
+
incoming_edges: [],
|
|
19
|
+
outgoing_edges: [],
|
|
20
|
+
evidence_summary: [],
|
|
21
|
+
warnings: [{
|
|
22
|
+
code: 'node_unknown',
|
|
23
|
+
message: `Node ${input.node_id} is not in the ${input.industry} template. Use list_taxonomy or run_trace to discover canonical node ids.`,
|
|
24
|
+
}],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const incoming = findIncoming(graph, input.node_id);
|
|
28
|
+
const outgoing = findOutgoing(graph, input.node_id);
|
|
29
|
+
const related = [];
|
|
30
|
+
for (const e of incoming) {
|
|
31
|
+
const other = getNode(graph, e.from);
|
|
32
|
+
if (other) {
|
|
33
|
+
related.push({
|
|
34
|
+
id: other.id,
|
|
35
|
+
type: other.type,
|
|
36
|
+
label: other.label,
|
|
37
|
+
relation: e.relation,
|
|
38
|
+
direction: 'incoming',
|
|
39
|
+
confidence: e.confidence,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
for (const e of outgoing) {
|
|
44
|
+
const other = getNode(graph, e.to);
|
|
45
|
+
if (other) {
|
|
46
|
+
related.push({
|
|
47
|
+
id: other.id,
|
|
48
|
+
type: other.type,
|
|
49
|
+
label: other.label,
|
|
50
|
+
relation: e.relation,
|
|
51
|
+
direction: 'outgoing',
|
|
52
|
+
confidence: e.confidence,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Collect a flat list of citations from the node and all its edges.
|
|
57
|
+
const citations = new Map();
|
|
58
|
+
const addCite = (src, year, title) => {
|
|
59
|
+
const k = `${src}::${year}`;
|
|
60
|
+
if (!citations.has(k))
|
|
61
|
+
citations.set(k, title ? `${src} (${year}), ${title}` : `${src} (${year})`);
|
|
62
|
+
};
|
|
63
|
+
for (const c of node.evidence ?? [])
|
|
64
|
+
addCite(c.source, c.year, c.title);
|
|
65
|
+
for (const e of [...incoming, ...outgoing]) {
|
|
66
|
+
for (const c of e.evidence ?? [])
|
|
67
|
+
addCite(c.source, c.year, c.title);
|
|
68
|
+
}
|
|
69
|
+
// For AICapability nodes, flag the absence of an AccountabilityLayer.
|
|
70
|
+
if (node.type === 'AICapability') {
|
|
71
|
+
const gated = incoming.some((e) => e.relation === 'gates');
|
|
72
|
+
if (!gated) {
|
|
73
|
+
warnings.push({
|
|
74
|
+
code: 'accountability_missing',
|
|
75
|
+
message: `AICapability ${node.id} has no AccountabilityLayer in the ${input.industry} template. Every agent needs a named accountable human.`,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
node,
|
|
81
|
+
industry: input.industry,
|
|
82
|
+
related,
|
|
83
|
+
incoming_edges: incoming,
|
|
84
|
+
outgoing_edges: outgoing,
|
|
85
|
+
evidence_summary: Array.from(citations.values()),
|
|
86
|
+
warnings,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=inspect-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect-node.js","sourceRoot":"","sources":["../src/inspect-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Industry } from './types.js';
|
|
2
|
+
import type { TraceResult, AccountContext } from './value-trace.js';
|
|
3
|
+
export interface RunTraceInput {
|
|
4
|
+
industry: Industry;
|
|
5
|
+
start_node: string;
|
|
6
|
+
account_context?: AccountContext;
|
|
7
|
+
target_node?: string;
|
|
8
|
+
max_paths?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface RunTraceWarning {
|
|
11
|
+
code: string;
|
|
12
|
+
message: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RunTraceOutput extends TraceResult {
|
|
15
|
+
warnings: RunTraceWarning[];
|
|
16
|
+
}
|
|
17
|
+
export declare function runTrace(input: RunTraceInput): RunTraceOutput;
|
|
18
|
+
//# sourceMappingURL=run-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-trace.d.ts","sourceRoot":"","sources":["../src/run-trace.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAEV,WAAW,EAGX,cAAc,EACf,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CA4E7D"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// run_trace, the SCE move.
|
|
2
|
+
//
|
|
3
|
+
// Given a starting BoardOutcome on an industry-templated graph, return the
|
|
4
|
+
// canonical paths down to AICapability or VendorComponent leaves, with a
|
|
5
|
+
// per-path confidence, the named AccountabilityLayer, any gating issues, and
|
|
6
|
+
// a Reframing Question per path.
|
|
7
|
+
//
|
|
8
|
+
// The Reframing Question is the part of the BVF method that survives every
|
|
9
|
+
// iteration of the framework. Every output ends with a question the C-suite
|
|
10
|
+
// has not asked themselves, containing a tension or paradox.
|
|
11
|
+
import { walkPaths, getNode } from './value-trace.js';
|
|
12
|
+
import { getIndustryTemplate, TEMPLATED_INDUSTRIES } from './templates.js';
|
|
13
|
+
export function runTrace(input) {
|
|
14
|
+
const warnings = [];
|
|
15
|
+
if (!TEMPLATED_INDUSTRIES.includes(input.industry)) {
|
|
16
|
+
warnings.push({
|
|
17
|
+
code: 'industry_template_missing',
|
|
18
|
+
message: `Industry ${input.industry} has no v0.3 Trace template. Falling back to the shared scaffold. Add a vertical template in templates.ts to ship a full Trace for this industry.`,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const graph = getIndustryTemplate(input.industry);
|
|
22
|
+
// Validate start node exists in the templated graph.
|
|
23
|
+
const start = getNode(graph, input.start_node);
|
|
24
|
+
if (!start) {
|
|
25
|
+
return {
|
|
26
|
+
industry: input.industry,
|
|
27
|
+
start_node: input.start_node,
|
|
28
|
+
paths: [],
|
|
29
|
+
account_context: input.account_context,
|
|
30
|
+
generated_at: new Date().toISOString(),
|
|
31
|
+
warnings: [
|
|
32
|
+
{
|
|
33
|
+
code: 'start_node_unknown',
|
|
34
|
+
message: `Start node ${input.start_node} is not in the ${input.industry} template. Use inspect_node or list a board outcome from the industry overlay.`,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (start.type !== 'BoardOutcome') {
|
|
40
|
+
warnings.push({
|
|
41
|
+
code: 'start_not_board_outcome',
|
|
42
|
+
message: `Start node ${input.start_node} is a ${start.type}, not a BoardOutcome. The Trace works best from the board down. Consider re-running from the BoardOutcome that owns this node.`,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const rawPaths = walkPaths(graph, input.start_node, input.max_paths ?? 6);
|
|
46
|
+
// Optionally filter by target_node, useful when an SCE wants to know if a
|
|
47
|
+
// named vendor capability can be traced from the chosen board outcome.
|
|
48
|
+
const filtered = input.target_node
|
|
49
|
+
? rawPaths.filter((p) => p.nodes.includes(input.target_node))
|
|
50
|
+
: rawPaths;
|
|
51
|
+
const paths = filtered.map((p) => ({
|
|
52
|
+
...p,
|
|
53
|
+
reframing_question: composeReframingQuestion(graph, p),
|
|
54
|
+
}));
|
|
55
|
+
if (paths.length === 0) {
|
|
56
|
+
warnings.push({
|
|
57
|
+
code: 'no_paths_found',
|
|
58
|
+
message: `No paths from ${input.start_node} reached an AICapability or VendorComponent leaf. The industry template may be incomplete. Add an edge in templates.ts or use propose_edge to add a hypothesis edge live.`,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
// Surface missing-accountability findings as warnings so the SCE sees them
|
|
62
|
+
// at the top of the response.
|
|
63
|
+
for (const p of paths) {
|
|
64
|
+
if (!p.accountability) {
|
|
65
|
+
warnings.push({
|
|
66
|
+
code: 'accountability_missing',
|
|
67
|
+
message: `Path ${p.id} has no AccountabilityLayer. The C-suite cannot agentify this capability without a named accountable human.`,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
industry: input.industry,
|
|
73
|
+
start_node: input.start_node,
|
|
74
|
+
paths,
|
|
75
|
+
account_context: input.account_context,
|
|
76
|
+
generated_at: new Date().toISOString(),
|
|
77
|
+
warnings,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// ---------------------------------------------------------------------------
|
|
81
|
+
function composeReframingQuestion(graph, path) {
|
|
82
|
+
// The Reframing Question is composed from the path itself. The question
|
|
83
|
+
// surfaces a tension between the named human end and the agent end.
|
|
84
|
+
const board = lookupOnPath(graph, path, 'BoardOutcome');
|
|
85
|
+
const initiative = lookupOnPath(graph, path, 'BusinessInitiative');
|
|
86
|
+
const capability = lookupOnPath(graph, path, 'AICapability');
|
|
87
|
+
const vendor = lookupOnPath(graph, path, 'VendorComponent');
|
|
88
|
+
const accountabilityNode = path.accountability ? getNode(graph, path.accountability) : undefined;
|
|
89
|
+
// If the path has no accountable human, that is the question itself.
|
|
90
|
+
if (!accountabilityNode) {
|
|
91
|
+
return `Who in your C-suite is willing to be named on a memo that says, "${capability?.label ?? 'this agent'} reports to me, and if it fails it costs me my role"?`;
|
|
92
|
+
}
|
|
93
|
+
// Default form, names the human, the agent and the board outcome.
|
|
94
|
+
const accLabel = accountabilityNode.label;
|
|
95
|
+
const boardLabel = board?.label ?? 'your board outcome';
|
|
96
|
+
const capLabel = capability?.label ?? 'an agent';
|
|
97
|
+
const initLabel = initiative?.label ? `the ${initiative.label.toLowerCase()} initiative` : 'your current programme';
|
|
98
|
+
const vendorLabel = vendor?.label;
|
|
99
|
+
if (vendorLabel) {
|
|
100
|
+
return `If ${accLabel} is the named accountable human for ${boardLabel}, and ${capLabel} is delivered through ${vendorLabel}, what does ${initLabel} look like when ${accLabel} cannot blame the vendor for the next miss?`;
|
|
101
|
+
}
|
|
102
|
+
return `If ${accLabel} is the named accountable human for ${boardLabel}, and ${capLabel} is the agent that moves it, what changes in ${initLabel} the moment ${accLabel} sees the agent's confidence score before the board meeting, not after?`;
|
|
103
|
+
}
|
|
104
|
+
function lookupOnPath(graph, path, type) {
|
|
105
|
+
for (const id of path.nodes) {
|
|
106
|
+
const n = getNode(graph, id);
|
|
107
|
+
if (n?.type === type)
|
|
108
|
+
return n;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=run-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../src/run-trace.ts"],"names":[],"mappings":"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"}
|
package/dist/score.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ScoreInput, ScoreResult } from './types.js';
|
|
1
|
+
import type { ScoreInput, ScoreResult, RecommendInput, RecommendResult, PaceLayerInput, PaceLayerResult, AiTier, Readiness } from './types.js';
|
|
2
2
|
interface BaseRate {
|
|
3
3
|
rev: {
|
|
4
4
|
lo: number;
|
|
@@ -43,10 +43,37 @@ export declare const READINESS_CAPTURE: {
|
|
|
43
43
|
readonly label: "Siloed & Bureaucratic";
|
|
44
44
|
};
|
|
45
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Pace Layer Diagnostic. Annual Organisational Drag Cost expressed as a
|
|
48
|
+
* fraction of revenue, driven by misalignment between the AI tier an
|
|
49
|
+
* organisation is deploying and the organisational operating model it
|
|
50
|
+
* actually runs. Grounded in the EY/Oxford six-drivers research on change
|
|
51
|
+
* success and BCG/MIT work on pace-layer misalignment. Numbers are
|
|
52
|
+
* directional, not audited — the tool is a decision aid, not a GL entry.
|
|
53
|
+
*/
|
|
54
|
+
export declare const PACE_DRAG_RATE: Record<AiTier, Record<Readiness, {
|
|
55
|
+
lo: number;
|
|
56
|
+
hi: number;
|
|
57
|
+
}>>;
|
|
46
58
|
/**
|
|
47
59
|
* Score an initiative according to AI BVF v1.0.
|
|
48
60
|
* Deterministic. No network. No dependencies.
|
|
49
61
|
*/
|
|
50
62
|
export declare function score(input: ScoreInput): ScoreResult;
|
|
63
|
+
/**
|
|
64
|
+
* Recommend concrete improvements to flip a Stop or Fix result toward Accelerate.
|
|
65
|
+
* The logic is deterministic: for each weak pillar, propose a target score that
|
|
66
|
+
* would satisfy the classify() thresholds, and attach a specific action and a
|
|
67
|
+
* rationale. Returns feasible=false when governance risk is structurally too
|
|
68
|
+
* high to recover.
|
|
69
|
+
*/
|
|
70
|
+
export declare function recommendImprovements(input: RecommendInput): RecommendResult;
|
|
71
|
+
/**
|
|
72
|
+
* Pace Layer Diagnostic.
|
|
73
|
+
* Returns annual Organisational Drag Cost in EUR, based on the misalignment
|
|
74
|
+
* between the AI tier being deployed and the organisational readiness. This
|
|
75
|
+
* is the cost of structural friction, not the cost of the AI build.
|
|
76
|
+
*/
|
|
77
|
+
export declare function calculatePaceLayerDrag(input: PaceLayerInput): PaceLayerResult;
|
|
51
78
|
export {};
|
|
52
79
|
//# sourceMappingURL=score.d.ts.map
|
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,
|
|
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"}
|
package/dist/score.js
CHANGED
|
@@ -38,6 +38,25 @@ export const READINESS_CAPTURE = {
|
|
|
38
38
|
traditional: { low: 0.50, high: 0.70, label: 'Traditional Hierarchy' },
|
|
39
39
|
siloed: { low: 0.25, high: 0.40, label: 'Siloed & Bureaucratic' },
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Pace Layer Diagnostic. Annual Organisational Drag Cost expressed as a
|
|
43
|
+
* fraction of revenue, driven by misalignment between the AI tier an
|
|
44
|
+
* organisation is deploying and the organisational operating model it
|
|
45
|
+
* actually runs. Grounded in the EY/Oxford six-drivers research on change
|
|
46
|
+
* success and BCG/MIT work on pace-layer misalignment. Numbers are
|
|
47
|
+
* directional, not audited — the tool is a decision aid, not a GL entry.
|
|
48
|
+
*/
|
|
49
|
+
export const PACE_DRAG_RATE = {
|
|
50
|
+
gen1: { agile: { lo: 0.001, hi: 0.003 }, traditional: { lo: 0.003, hi: 0.008 }, siloed: { lo: 0.008, hi: 0.015 } },
|
|
51
|
+
gen2: { agile: { lo: 0.002, hi: 0.005 }, traditional: { lo: 0.010, hi: 0.020 }, siloed: { lo: 0.020, hi: 0.035 } },
|
|
52
|
+
gen3: { agile: { lo: 0.005, hi: 0.010 }, traditional: { lo: 0.025, hi: 0.045 }, siloed: { lo: 0.045, hi: 0.080 } },
|
|
53
|
+
};
|
|
54
|
+
const PACE_DRAG_DRIVERS = {
|
|
55
|
+
agile: ['Minimal drag: governance cadence roughly matches deployment cadence', 'Residual drag from cross-team handoffs', 'Incremental cost from over-governing low-risk use cases'],
|
|
56
|
+
traditional: ['Approval cycles outrun deployment cycles', 'Budget re-allocation friction (annual cycles vs weekly change)', 'Skills gap between model risk oversight and delivery teams'],
|
|
57
|
+
siloed: ['Functional ownership blocks horizontal data flow', 'Shadow AI proliferates outside governance', 'Duplicated spend across silos on overlapping models', 'Change-management budget absent or symbolic'],
|
|
58
|
+
};
|
|
59
|
+
const PACE_DRAG_SOURCE = 'AI BVF Pace Layer Diagnostic, calibrated to EY/Oxford change-success six-drivers and BCG/MIT pace-layer misalignment research.';
|
|
41
60
|
function classify(sa, fr, ce, gr) {
|
|
42
61
|
if (gr >= 70 || fr <= 20) {
|
|
43
62
|
return { label: 'Stop', reason: gr >= 70 ? 'Governance risk above the safe threshold.' : 'Financial return too thin to justify scope.' };
|
|
@@ -56,6 +75,29 @@ function classify(sa, fr, ce, gr) {
|
|
|
56
75
|
gaps.push('governance exposure is real');
|
|
57
76
|
return { label: 'Fix', reason: `Workable, but ${gaps.join('; ')}. Close the gap before scaling.` };
|
|
58
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns the list of BVF modules that were applied to this scoring run.
|
|
80
|
+
* Always includes the base four-pillar scorer and the readiness capture
|
|
81
|
+
* adjustment; adds vertical modules when the industry triggers them.
|
|
82
|
+
*/
|
|
83
|
+
function appliedModules(industry, fn, readiness) {
|
|
84
|
+
const mods = ['four_pillar_base', `readiness_capture_${readiness}`];
|
|
85
|
+
if (industry === 'healthcare') {
|
|
86
|
+
mods.push('healthcare_clinical_validation', 'healthcare_regulatory_overhead');
|
|
87
|
+
if (fn === 'risk')
|
|
88
|
+
mods.push('healthcare_hipaa_module');
|
|
89
|
+
}
|
|
90
|
+
if (industry === 'financial') {
|
|
91
|
+
mods.push('financial_model_risk_overhead');
|
|
92
|
+
if (fn === 'risk')
|
|
93
|
+
mods.push('financial_dora_module');
|
|
94
|
+
}
|
|
95
|
+
if (industry === 'public_sector')
|
|
96
|
+
mods.push('public_sector_procurement_module');
|
|
97
|
+
if (industry === 'energy')
|
|
98
|
+
mods.push('energy_critical_infrastructure_module');
|
|
99
|
+
return mods;
|
|
100
|
+
}
|
|
59
101
|
/**
|
|
60
102
|
* Score an initiative according to AI BVF v1.0.
|
|
61
103
|
* Deterministic. No network. No dependencies.
|
|
@@ -90,6 +132,110 @@ export function score(input) {
|
|
|
90
132
|
multipliers: { industry: mult, tier: tAdj, capture_low: cap.low, capture_high: cap.high },
|
|
91
133
|
drivers: base.drivers,
|
|
92
134
|
source: base.source,
|
|
135
|
+
applied_modules: appliedModules(industry, fn, readiness),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const PILLAR_ACTIONS = {
|
|
139
|
+
strategic_alignment: {
|
|
140
|
+
action: 'Tie this initiative to a named board-level KPI with a written success metric and a single accountable executive owner.',
|
|
141
|
+
rationale: 'Initiatives without a named KPI and owner consistently stall at the pilot stage. Evidence: McKinsey State of AI, Gartner AI-in-the-Enterprise.',
|
|
142
|
+
},
|
|
143
|
+
financial_return: {
|
|
144
|
+
action: 'Rebuild the business case with itemised gross benefit (revenue uplift + cost take-out), a change cost line, and a capture rate tied to current readiness.',
|
|
145
|
+
rationale: 'Weak financial return almost always means the capture rate has been assumed away. Re-running the case with the honest capture rate either reveals a real benefit or kills a vanity project.',
|
|
146
|
+
},
|
|
147
|
+
change_enablement: {
|
|
148
|
+
action: 'Fund a dedicated change-management budget at 15 to 25 percent of total initiative spend, and assign a named product owner with capacity.',
|
|
149
|
+
rationale: 'Prosci and EY/Oxford both find that initiatives with funded CM and a named owner are several times more likely to hit benefit case. Without this, the scoring is theoretical.',
|
|
150
|
+
},
|
|
151
|
+
governance_risk: {
|
|
152
|
+
action: 'Commission a pre-deployment governance review covering data lineage, model risk, EU AI Act classification, and human-in-the-loop design.',
|
|
153
|
+
rationale: 'High governance exposure is not an argument for stopping by default; it is an argument for paying the governance cost up front rather than during a regulatory incident.',
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
const RAISE_TARGET = 65;
|
|
157
|
+
const GOV_LOWER_TARGET = 35;
|
|
158
|
+
/**
|
|
159
|
+
* Recommend concrete improvements to flip a Stop or Fix result toward Accelerate.
|
|
160
|
+
* The logic is deterministic: for each weak pillar, propose a target score that
|
|
161
|
+
* would satisfy the classify() thresholds, and attach a specific action and a
|
|
162
|
+
* rationale. Returns feasible=false when governance risk is structurally too
|
|
163
|
+
* high to recover.
|
|
164
|
+
*/
|
|
165
|
+
export function recommendImprovements(input) {
|
|
166
|
+
const { scores } = input;
|
|
167
|
+
const { strategic_alignment: sa, financial_return: fr, change_enablement: ce, governance_risk: gr } = scores;
|
|
168
|
+
const current = classify(sa, fr, ce, gr).label;
|
|
169
|
+
const recs = [];
|
|
170
|
+
const notes = [];
|
|
171
|
+
if (current === 'Accelerate') {
|
|
172
|
+
return {
|
|
173
|
+
current_classification: current,
|
|
174
|
+
target_classification: current,
|
|
175
|
+
feasible: true,
|
|
176
|
+
recommendations: [],
|
|
177
|
+
projected_confidence: Math.round((sa + fr + ce + (100 - gr)) / 4),
|
|
178
|
+
notes: ['Initiative is already classified Accelerate. No flip required.'],
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
if (sa < 60)
|
|
182
|
+
recs.push({ pillar: 'strategic_alignment', current: sa, target: RAISE_TARGET, delta: RAISE_TARGET - sa, ...PILLAR_ACTIONS.strategic_alignment });
|
|
183
|
+
if (fr < 60)
|
|
184
|
+
recs.push({ pillar: 'financial_return', current: fr, target: RAISE_TARGET, delta: RAISE_TARGET - fr, ...PILLAR_ACTIONS.financial_return });
|
|
185
|
+
if (ce < 60)
|
|
186
|
+
recs.push({ pillar: 'change_enablement', current: ce, target: RAISE_TARGET, delta: RAISE_TARGET - ce, ...PILLAR_ACTIONS.change_enablement });
|
|
187
|
+
if (gr > 40)
|
|
188
|
+
recs.push({ pillar: 'governance_risk', current: gr, target: GOV_LOWER_TARGET, delta: GOV_LOWER_TARGET - gr, ...PILLAR_ACTIONS.governance_risk });
|
|
189
|
+
const feasible = !(gr >= 70 && Math.abs(GOV_LOWER_TARGET - gr) > 40) && !(fr <= 20 && RAISE_TARGET - fr > 50);
|
|
190
|
+
if (!feasible) {
|
|
191
|
+
notes.push('Gaps are structurally too wide to close without redesigning the initiative. Scope a different use case rather than patching this one.');
|
|
192
|
+
}
|
|
193
|
+
const projectedSa = Math.max(sa, sa < 60 ? RAISE_TARGET : sa);
|
|
194
|
+
const projectedFr = Math.max(fr, fr < 60 ? RAISE_TARGET : fr);
|
|
195
|
+
const projectedCe = Math.max(ce, ce < 60 ? RAISE_TARGET : ce);
|
|
196
|
+
const projectedGr = Math.min(gr, gr > 40 ? GOV_LOWER_TARGET : gr);
|
|
197
|
+
const projectedConfidence = Math.round((projectedSa + projectedFr + projectedCe + (100 - projectedGr)) / 4);
|
|
198
|
+
const projectedClass = classify(projectedSa, projectedFr, projectedCe, projectedGr).label;
|
|
199
|
+
return {
|
|
200
|
+
current_classification: current,
|
|
201
|
+
target_classification: projectedClass,
|
|
202
|
+
feasible,
|
|
203
|
+
recommendations: recs,
|
|
204
|
+
projected_confidence: projectedConfidence,
|
|
205
|
+
notes,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Pace Layer Diagnostic.
|
|
210
|
+
* Returns annual Organisational Drag Cost in EUR, based on the misalignment
|
|
211
|
+
* between the AI tier being deployed and the organisational readiness. This
|
|
212
|
+
* is the cost of structural friction, not the cost of the AI build.
|
|
213
|
+
*/
|
|
214
|
+
export function calculatePaceLayerDrag(input) {
|
|
215
|
+
const { revenue_eur, ai_tier, readiness } = input;
|
|
216
|
+
const tier = PACE_DRAG_RATE[ai_tier];
|
|
217
|
+
if (!tier)
|
|
218
|
+
throw new Error(`Unknown ai_tier: ${ai_tier}`);
|
|
219
|
+
const rate = tier[readiness];
|
|
220
|
+
if (!rate)
|
|
221
|
+
throw new Error(`Unknown readiness: ${readiness}`);
|
|
222
|
+
const annual_drag_eur_low = revenue_eur * rate.lo;
|
|
223
|
+
const annual_drag_eur_high = revenue_eur * rate.hi;
|
|
224
|
+
let pace_gap = 'minimal';
|
|
225
|
+
if (ai_tier === 'gen3' && readiness !== 'agile')
|
|
226
|
+
pace_gap = 'severe';
|
|
227
|
+
else if (ai_tier === 'gen2' && readiness === 'siloed')
|
|
228
|
+
pace_gap = 'severe';
|
|
229
|
+
else if (readiness !== 'agile')
|
|
230
|
+
pace_gap = 'moderate';
|
|
231
|
+
return {
|
|
232
|
+
annual_drag_eur_low,
|
|
233
|
+
annual_drag_eur_high,
|
|
234
|
+
drag_rate_low: rate.lo,
|
|
235
|
+
drag_rate_high: rate.hi,
|
|
236
|
+
pace_gap,
|
|
237
|
+
drivers: PACE_DRAG_DRIVERS[readiness],
|
|
238
|
+
source: PACE_DRAG_SOURCE,
|
|
93
239
|
};
|
|
94
240
|
}
|
|
95
241
|
//# sourceMappingURL=score.js.map
|
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,5 @@
|
|
|
1
|
+
import type { ValueTraceGraph } from './value-trace.js';
|
|
2
|
+
import type { Industry } from './types.js';
|
|
3
|
+
export declare function getIndustryTemplate(industry: Industry): ValueTraceGraph;
|
|
4
|
+
export declare const TEMPLATED_INDUSTRIES: Industry[];
|
|
5
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+M3C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAyBvE;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,EAAiD,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
// Industry templates for the AI Value Trace.
|
|
2
|
+
//
|
|
3
|
+
// Each template is a starter graph: the canonical board outcomes, the named
|
|
4
|
+
// business initiatives that move them, the operating metrics that instrument
|
|
5
|
+
// the initiatives, the function nodes (reused across all templates from the
|
|
6
|
+
// existing BVF function enum), the AI capabilities that automate the
|
|
7
|
+
// functions, the named human accountability layers, and the vendor component
|
|
8
|
+
// leaves an SCE walks into a meeting with.
|
|
9
|
+
//
|
|
10
|
+
// Templates are intentionally small (one or two canonical paths per board
|
|
11
|
+
// outcome). They are starting points. An SCE adds account-specific edges
|
|
12
|
+
// with propose_edge during a live Trace.
|
|
13
|
+
//
|
|
14
|
+
// Sources are cited by name and year. Where a benchmark range is implied,
|
|
15
|
+
// the canonical source is named so the SCE can hand the citation to the
|
|
16
|
+
// CFO during the conversation.
|
|
17
|
+
// Shared nodes reused across all templates.
|
|
18
|
+
const SHARED_FUNCTION_NODES = [
|
|
19
|
+
{ id: 'function.finance', type: 'Function', label: 'Finance' },
|
|
20
|
+
{ id: 'function.hr', type: 'Function', label: 'HR and workforce' },
|
|
21
|
+
{ id: 'function.sales', type: 'Function', label: 'Sales and revenue' },
|
|
22
|
+
{ id: 'function.supply', type: 'Function', label: 'Supply chain' },
|
|
23
|
+
{ id: 'function.cx', type: 'Function', label: 'Customer experience' },
|
|
24
|
+
{ id: 'function.risk', type: 'Function', label: 'Risk and compliance' },
|
|
25
|
+
{ id: 'function.it', type: 'Function', label: 'IT and platform' },
|
|
26
|
+
{ id: 'function.rd', type: 'Function', label: 'R and D / innovation' },
|
|
27
|
+
];
|
|
28
|
+
const SHARED_ACCOUNTABILITY_NODES = [
|
|
29
|
+
{ id: 'accountability.chief-ai-officer', type: 'AccountabilityLayer', label: 'Chief AI Officer' },
|
|
30
|
+
{ id: 'accountability.cfo', type: 'AccountabilityLayer', label: 'Chief Financial Officer' },
|
|
31
|
+
{ id: 'accountability.cro', type: 'AccountabilityLayer', label: 'Chief Risk Officer' },
|
|
32
|
+
{ id: 'accountability.coo', type: 'AccountabilityLayer', label: 'Chief Operating Officer' },
|
|
33
|
+
{ id: 'accountability.cdo', type: 'AccountabilityLayer', label: 'Chief Data Officer' },
|
|
34
|
+
{ id: 'accountability.bu-head', type: 'AccountabilityLayer', label: 'Business unit head' },
|
|
35
|
+
];
|
|
36
|
+
// Vendor leaves anchored in the five target-employer product taxonomies as at
|
|
37
|
+
// May 2026. Add to this list as new vendor moves land. The Trace is most
|
|
38
|
+
// credible when an SCE at any of these vendors sees their own product as a leaf.
|
|
39
|
+
const SHARED_VENDOR_NODES = [
|
|
40
|
+
{ id: 'vendor.netapp-afx', type: 'VendorComponent', label: 'NetApp AFX exascale storage for AI' },
|
|
41
|
+
{ id: 'vendor.netapp-ontap-aws', type: 'VendorComponent', label: 'NetApp ONTAP native on AWS' },
|
|
42
|
+
{ id: 'vendor.servicenow-now-assist', type: 'VendorComponent', label: 'ServiceNow Now Assist' },
|
|
43
|
+
{ id: 'vendor.salesforce-agentforce', type: 'VendorComponent', label: 'Salesforce Agentforce' },
|
|
44
|
+
{ id: 'vendor.microsoft-copilot', type: 'VendorComponent', label: 'Microsoft Copilot' },
|
|
45
|
+
{ id: 'vendor.microsoft-agent-365', type: 'VendorComponent', label: 'Microsoft Agent 365' },
|
|
46
|
+
{ id: 'vendor.azure-ai-foundry', type: 'VendorComponent', label: 'Azure AI Foundry' },
|
|
47
|
+
];
|
|
48
|
+
// ----------------- Financial Services template -----------------------------
|
|
49
|
+
const FS_NODES = [
|
|
50
|
+
// Board outcomes that matter most in FS in 2026
|
|
51
|
+
{ id: 'board.fs.risk-adjusted-return', type: 'BoardOutcome', label: 'Risk-adjusted return on capital',
|
|
52
|
+
industry_scope: ['financial'],
|
|
53
|
+
evidence: [{ source: 'McKinsey Global Banking Annual Review', year: 2026 }] },
|
|
54
|
+
{ id: 'board.fs.cost-income-ratio', type: 'BoardOutcome', label: 'Cost to income ratio',
|
|
55
|
+
industry_scope: ['financial'],
|
|
56
|
+
evidence: [{ source: 'KPMG Pulse of Banking', year: 2026 }] },
|
|
57
|
+
{ id: 'board.fs.fraud-loss-rate', type: 'BoardOutcome', label: 'Fraud loss rate, basis points of transaction volume',
|
|
58
|
+
industry_scope: ['financial'],
|
|
59
|
+
evidence: [{ source: 'Deloitte Financial Crime Survey', year: 2026 }] },
|
|
60
|
+
// Business initiatives that move FS board outcomes
|
|
61
|
+
{ id: 'initiative.fs.next-best-action', type: 'BusinessInitiative', label: 'Next best action for relationship managers',
|
|
62
|
+
industry_scope: ['financial'] },
|
|
63
|
+
{ id: 'initiative.fs.fraud-modernisation', type: 'BusinessInitiative', label: 'Real-time fraud modernisation',
|
|
64
|
+
industry_scope: ['financial'] },
|
|
65
|
+
{ id: 'initiative.fs.servicing-automation', type: 'BusinessInitiative', label: 'Servicing automation across retail and SME',
|
|
66
|
+
industry_scope: ['financial'] },
|
|
67
|
+
// Operating metrics that instrument FS initiatives
|
|
68
|
+
{ id: 'metric.fs.advisor-productivity', type: 'OperatingMetric', label: 'Adviser productivity, revenue per FTE',
|
|
69
|
+
function_scope: ['sales'] },
|
|
70
|
+
{ id: 'metric.fs.fraud-mttd', type: 'OperatingMetric', label: 'Fraud mean time to detection, seconds',
|
|
71
|
+
function_scope: ['risk'] },
|
|
72
|
+
{ id: 'metric.fs.servicing-handle-time', type: 'OperatingMetric', label: 'Servicing handle time, seconds per interaction',
|
|
73
|
+
function_scope: ['cx'] },
|
|
74
|
+
// AI capabilities by function
|
|
75
|
+
{ id: 'capability.gen2.advisor-copilot', type: 'AICapability', label: 'GenAI adviser copilot',
|
|
76
|
+
ai_tier: 'gen2', function_scope: ['sales'] },
|
|
77
|
+
{ id: 'capability.gen3.fraud-agent', type: 'AICapability', label: 'Agentic fraud triage and case management',
|
|
78
|
+
ai_tier: 'gen3', function_scope: ['risk'] },
|
|
79
|
+
{ id: 'capability.gen2.servicing-copilot', type: 'AICapability', label: 'GenAI servicing copilot',
|
|
80
|
+
ai_tier: 'gen2', function_scope: ['cx'] },
|
|
81
|
+
];
|
|
82
|
+
const FS_EDGES = [
|
|
83
|
+
// Initiative -> Board outcome
|
|
84
|
+
{ from: 'initiative.fs.next-best-action', to: 'board.fs.risk-adjusted-return', relation: 'moves',
|
|
85
|
+
confidence: 70,
|
|
86
|
+
evidence: [{ source: 'McKinsey Global Banking Annual Review', year: 2026 }] },
|
|
87
|
+
{ from: 'initiative.fs.fraud-modernisation', to: 'board.fs.fraud-loss-rate', relation: 'moves',
|
|
88
|
+
confidence: 80,
|
|
89
|
+
evidence: [{ source: 'Deloitte Financial Crime Survey', year: 2026 }] },
|
|
90
|
+
{ from: 'initiative.fs.servicing-automation', to: 'board.fs.cost-income-ratio', relation: 'moves',
|
|
91
|
+
confidence: 75,
|
|
92
|
+
evidence: [{ source: 'KPMG Pulse of Banking', year: 2026 }] },
|
|
93
|
+
// Operating metric -> Initiative
|
|
94
|
+
{ from: 'metric.fs.advisor-productivity', to: 'initiative.fs.next-best-action', relation: 'instruments', confidence: 75 },
|
|
95
|
+
{ from: 'metric.fs.fraud-mttd', to: 'initiative.fs.fraud-modernisation', relation: 'instruments', confidence: 85 },
|
|
96
|
+
{ from: 'metric.fs.servicing-handle-time', to: 'initiative.fs.servicing-automation', relation: 'instruments', confidence: 80 },
|
|
97
|
+
// Function -> Operating metric (function tracks the metric)
|
|
98
|
+
{ from: 'function.sales', to: 'metric.fs.advisor-productivity', relation: 'tracks', confidence: 85 },
|
|
99
|
+
{ from: 'function.risk', to: 'metric.fs.fraud-mttd', relation: 'tracks', confidence: 90 },
|
|
100
|
+
{ from: 'function.cx', to: 'metric.fs.servicing-handle-time', relation: 'tracks', confidence: 88 },
|
|
101
|
+
// AI capability -> Function
|
|
102
|
+
{ from: 'capability.gen2.advisor-copilot', to: 'function.sales', relation: 'automates', confidence: 70 },
|
|
103
|
+
{ from: 'capability.gen3.fraud-agent', to: 'function.risk', relation: 'automates', confidence: 75 },
|
|
104
|
+
{ from: 'capability.gen2.servicing-copilot', to: 'function.cx', relation: 'automates', confidence: 78 },
|
|
105
|
+
// Accountability -> AI capability (gates)
|
|
106
|
+
{ from: 'accountability.chief-ai-officer', to: 'capability.gen2.advisor-copilot', relation: 'gates', confidence: 90 },
|
|
107
|
+
{ from: 'accountability.cro', to: 'capability.gen3.fraud-agent', relation: 'gates', confidence: 95 },
|
|
108
|
+
{ from: 'accountability.coo', to: 'capability.gen2.servicing-copilot', relation: 'gates', confidence: 85 },
|
|
109
|
+
// Vendor -> AI capability (delivers)
|
|
110
|
+
{ from: 'vendor.salesforce-agentforce', to: 'capability.gen2.advisor-copilot', relation: 'delivers', confidence: 80 },
|
|
111
|
+
{ from: 'vendor.servicenow-now-assist', to: 'capability.gen2.servicing-copilot', relation: 'delivers', confidence: 78 },
|
|
112
|
+
{ from: 'vendor.microsoft-copilot', to: 'capability.gen2.servicing-copilot', relation: 'delivers', confidence: 72 },
|
|
113
|
+
{ from: 'vendor.azure-ai-foundry', to: 'capability.gen3.fraud-agent', relation: 'delivers', confidence: 76 },
|
|
114
|
+
];
|
|
115
|
+
// ----------------- Public Sector + Sovereign AI template -------------------
|
|
116
|
+
const PS_NODES = [
|
|
117
|
+
{ id: 'board.ps.cost-per-citizen', type: 'BoardOutcome', label: 'Cost per citizen served',
|
|
118
|
+
industry_scope: ['public_sector'],
|
|
119
|
+
evidence: [{ source: 'OECD Public Sector Productivity Outlook', year: 2026 }] },
|
|
120
|
+
{ id: 'board.ps.sovereignty', type: 'BoardOutcome', label: 'Data and compute sovereignty position',
|
|
121
|
+
industry_scope: ['public_sector'],
|
|
122
|
+
evidence: [{ source: 'European Commission InvestAI', year: 2026 }] },
|
|
123
|
+
{ id: 'board.ps.service-trust', type: 'BoardOutcome', label: 'Public trust in digital services',
|
|
124
|
+
industry_scope: ['public_sector'],
|
|
125
|
+
evidence: [{ source: 'Edelman Trust Barometer', year: 2026 }] },
|
|
126
|
+
{ id: 'initiative.ps.case-automation', type: 'BusinessInitiative', label: 'End-to-end case automation, benefits and licences',
|
|
127
|
+
industry_scope: ['public_sector'] },
|
|
128
|
+
{ id: 'initiative.ps.sovereign-cloud', type: 'BusinessInitiative', label: 'Sovereign cloud and AI compute build',
|
|
129
|
+
industry_scope: ['public_sector'] },
|
|
130
|
+
{ id: 'metric.ps.case-cycle-time', type: 'OperatingMetric', label: 'Case cycle time, days', function_scope: ['cx'] },
|
|
131
|
+
{ id: 'metric.ps.sovereign-uptime', type: 'OperatingMetric', label: 'Sovereign workload uptime in country', function_scope: ['it'] },
|
|
132
|
+
{ id: 'capability.gen2.case-copilot', type: 'AICapability', label: 'GenAI case officer copilot', ai_tier: 'gen2', function_scope: ['cx'] },
|
|
133
|
+
{ id: 'capability.gen3.sovereign-fabric', type: 'AICapability', label: 'Agentic data fabric for sovereign AI', ai_tier: 'gen3', function_scope: ['it'] },
|
|
134
|
+
];
|
|
135
|
+
const PS_EDGES = [
|
|
136
|
+
{ from: 'initiative.ps.case-automation', to: 'board.ps.cost-per-citizen', relation: 'moves', confidence: 75,
|
|
137
|
+
evidence: [{ source: 'OECD Public Sector Productivity Outlook', year: 2026 }] },
|
|
138
|
+
{ from: 'initiative.ps.case-automation', to: 'board.ps.service-trust', relation: 'moves', confidence: 60 },
|
|
139
|
+
{ from: 'initiative.ps.sovereign-cloud', to: 'board.ps.sovereignty', relation: 'moves', confidence: 85,
|
|
140
|
+
evidence: [{ source: 'European Commission InvestAI', year: 2026 }] },
|
|
141
|
+
{ from: 'metric.ps.case-cycle-time', to: 'initiative.ps.case-automation', relation: 'instruments', confidence: 80 },
|
|
142
|
+
{ from: 'metric.ps.sovereign-uptime', to: 'initiative.ps.sovereign-cloud', relation: 'instruments', confidence: 78 },
|
|
143
|
+
{ from: 'function.cx', to: 'metric.ps.case-cycle-time', relation: 'tracks', confidence: 85 },
|
|
144
|
+
{ from: 'function.it', to: 'metric.ps.sovereign-uptime', relation: 'tracks', confidence: 88 },
|
|
145
|
+
{ from: 'capability.gen2.case-copilot', to: 'function.cx', relation: 'automates', confidence: 72 },
|
|
146
|
+
{ from: 'capability.gen3.sovereign-fabric', to: 'function.it', relation: 'automates', confidence: 70 },
|
|
147
|
+
{ from: 'accountability.coo', to: 'capability.gen2.case-copilot', relation: 'gates', confidence: 85 },
|
|
148
|
+
{ from: 'accountability.chief-ai-officer', to: 'capability.gen3.sovereign-fabric', relation: 'gates', confidence: 90 },
|
|
149
|
+
{ from: 'vendor.microsoft-copilot', to: 'capability.gen2.case-copilot', relation: 'delivers', confidence: 70 },
|
|
150
|
+
{ from: 'vendor.netapp-afx', to: 'capability.gen3.sovereign-fabric', relation: 'delivers', confidence: 82 },
|
|
151
|
+
{ from: 'vendor.netapp-ontap-aws', to: 'capability.gen3.sovereign-fabric', relation: 'delivers', confidence: 75 },
|
|
152
|
+
];
|
|
153
|
+
// ----------------- Healthcare template -------------------------------------
|
|
154
|
+
const HC_NODES = [
|
|
155
|
+
{ id: 'board.hc.cost-per-episode', type: 'BoardOutcome', label: 'Cost per care episode',
|
|
156
|
+
industry_scope: ['healthcare'], evidence: [{ source: 'Deloitte Global Healthcare Outlook', year: 2026 }] },
|
|
157
|
+
{ id: 'board.hc.clinical-quality', type: 'BoardOutcome', label: 'Clinical quality, adjusted readmission rate',
|
|
158
|
+
industry_scope: ['healthcare'], evidence: [{ source: 'NHS Digital Quality Account', year: 2026 }] },
|
|
159
|
+
{ id: 'initiative.hc.clinical-documentation', type: 'BusinessInitiative', label: 'Ambient clinical documentation',
|
|
160
|
+
industry_scope: ['healthcare'] },
|
|
161
|
+
{ id: 'initiative.hc.prior-auth', type: 'BusinessInitiative', label: 'Prior authorisation automation',
|
|
162
|
+
industry_scope: ['healthcare'] },
|
|
163
|
+
{ id: 'metric.hc.clinician-time-saved', type: 'OperatingMetric', label: 'Clinician documentation time, minutes per shift', function_scope: ['hr'] },
|
|
164
|
+
{ id: 'metric.hc.auth-cycle-time', type: 'OperatingMetric', label: 'Prior authorisation cycle time, hours', function_scope: ['risk'] },
|
|
165
|
+
{ id: 'capability.gen2.clinical-scribe', type: 'AICapability', label: 'Ambient GenAI scribe', ai_tier: 'gen2', function_scope: ['hr'] },
|
|
166
|
+
{ id: 'capability.gen3.auth-agent', type: 'AICapability', label: 'Agentic prior authorisation', ai_tier: 'gen3', function_scope: ['risk'] },
|
|
167
|
+
];
|
|
168
|
+
const HC_EDGES = [
|
|
169
|
+
{ from: 'initiative.hc.clinical-documentation', to: 'board.hc.clinical-quality', relation: 'moves', confidence: 70 },
|
|
170
|
+
{ from: 'initiative.hc.clinical-documentation', to: 'board.hc.cost-per-episode', relation: 'moves', confidence: 65 },
|
|
171
|
+
{ from: 'initiative.hc.prior-auth', to: 'board.hc.cost-per-episode', relation: 'moves', confidence: 75 },
|
|
172
|
+
{ from: 'metric.hc.clinician-time-saved', to: 'initiative.hc.clinical-documentation', relation: 'instruments', confidence: 82 },
|
|
173
|
+
{ from: 'metric.hc.auth-cycle-time', to: 'initiative.hc.prior-auth', relation: 'instruments', confidence: 80 },
|
|
174
|
+
{ from: 'function.hr', to: 'metric.hc.clinician-time-saved', relation: 'tracks', confidence: 80 },
|
|
175
|
+
{ from: 'function.risk', to: 'metric.hc.auth-cycle-time', relation: 'tracks', confidence: 85 },
|
|
176
|
+
{ from: 'capability.gen2.clinical-scribe', to: 'function.hr', relation: 'automates', confidence: 75 },
|
|
177
|
+
{ from: 'capability.gen3.auth-agent', to: 'function.risk', relation: 'automates', confidence: 70 },
|
|
178
|
+
{ from: 'accountability.cdo', to: 'capability.gen2.clinical-scribe', relation: 'gates', confidence: 85 },
|
|
179
|
+
{ from: 'accountability.chief-ai-officer', to: 'capability.gen3.auth-agent', relation: 'gates', confidence: 90 },
|
|
180
|
+
{ from: 'vendor.microsoft-copilot', to: 'capability.gen2.clinical-scribe', relation: 'delivers', confidence: 78 },
|
|
181
|
+
{ from: 'vendor.salesforce-agentforce', to: 'capability.gen3.auth-agent', relation: 'delivers', confidence: 70 },
|
|
182
|
+
{ from: 'vendor.servicenow-now-assist', to: 'capability.gen3.auth-agent', relation: 'delivers', confidence: 72 },
|
|
183
|
+
];
|
|
184
|
+
// ----------------- Template registry ---------------------------------------
|
|
185
|
+
export function getIndustryTemplate(industry) {
|
|
186
|
+
const base = {
|
|
187
|
+
trace_version: '0.3',
|
|
188
|
+
industry,
|
|
189
|
+
nodes: [...SHARED_FUNCTION_NODES, ...SHARED_ACCOUNTABILITY_NODES, ...SHARED_VENDOR_NODES],
|
|
190
|
+
edges: [],
|
|
191
|
+
};
|
|
192
|
+
switch (industry) {
|
|
193
|
+
case 'financial':
|
|
194
|
+
base.nodes.push(...FS_NODES);
|
|
195
|
+
base.edges.push(...FS_EDGES);
|
|
196
|
+
return base;
|
|
197
|
+
case 'public_sector':
|
|
198
|
+
base.nodes.push(...PS_NODES);
|
|
199
|
+
base.edges.push(...PS_EDGES);
|
|
200
|
+
return base;
|
|
201
|
+
case 'healthcare':
|
|
202
|
+
base.nodes.push(...HC_NODES);
|
|
203
|
+
base.edges.push(...HC_EDGES);
|
|
204
|
+
return base;
|
|
205
|
+
default:
|
|
206
|
+
// For industries without a v0.3 template yet, return the shared scaffold.
|
|
207
|
+
return base;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
export const TEMPLATED_INDUSTRIES = ['financial', 'public_sector', 'healthcare'];
|
|
211
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -68,6 +68,40 @@ export interface ScoreResult {
|
|
|
68
68
|
};
|
|
69
69
|
drivers: string[];
|
|
70
70
|
source: string;
|
|
71
|
+
applied_modules: string[];
|
|
72
|
+
}
|
|
73
|
+
export interface RecommendInput extends ScoreInput {
|
|
74
|
+
}
|
|
75
|
+
export interface Recommendation {
|
|
76
|
+
pillar: 'strategic_alignment' | 'financial_return' | 'change_enablement' | 'governance_risk';
|
|
77
|
+
current: number;
|
|
78
|
+
target: number;
|
|
79
|
+
delta: number;
|
|
80
|
+
action: string;
|
|
81
|
+
rationale: string;
|
|
82
|
+
}
|
|
83
|
+
export interface RecommendResult {
|
|
84
|
+
current_classification: Classification;
|
|
85
|
+
target_classification: Classification;
|
|
86
|
+
feasible: boolean;
|
|
87
|
+
recommendations: Recommendation[];
|
|
88
|
+
projected_confidence: number;
|
|
89
|
+
notes: string[];
|
|
90
|
+
}
|
|
91
|
+
export interface PaceLayerInput {
|
|
92
|
+
revenue_eur: number;
|
|
93
|
+
ai_tier: AiTier;
|
|
94
|
+
readiness: Readiness;
|
|
95
|
+
industry?: Industry;
|
|
96
|
+
}
|
|
97
|
+
export interface PaceLayerResult {
|
|
98
|
+
annual_drag_eur_low: number;
|
|
99
|
+
annual_drag_eur_high: number;
|
|
100
|
+
drag_rate_low: number;
|
|
101
|
+
drag_rate_high: number;
|
|
102
|
+
pace_gap: 'minimal' | 'moderate' | 'severe';
|
|
103
|
+
drivers: string[];
|
|
104
|
+
source: string;
|
|
71
105
|
}
|
|
72
106
|
export interface ValidationError {
|
|
73
107
|
path: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { FunctionId, AiTier, Industry } from './types.js';
|
|
2
|
+
export type NodeType = 'BoardOutcome' | 'BusinessInitiative' | 'OperatingMetric' | 'Function' | 'AICapability' | 'AccountabilityLayer' | 'VendorComponent';
|
|
3
|
+
export type EdgeRelation = 'moves' | 'instruments' | 'tracks' | 'automates' | 'gates' | 'delivers';
|
|
4
|
+
export interface Citation {
|
|
5
|
+
source: string;
|
|
6
|
+
year: number;
|
|
7
|
+
title?: string;
|
|
8
|
+
url?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface TraceNode {
|
|
11
|
+
id: string;
|
|
12
|
+
type: NodeType;
|
|
13
|
+
label: string;
|
|
14
|
+
industry_scope?: Industry[];
|
|
15
|
+
function_scope?: FunctionId[];
|
|
16
|
+
ai_tier?: AiTier;
|
|
17
|
+
evidence?: Citation[];
|
|
18
|
+
notes?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TraceEdge {
|
|
21
|
+
from: string;
|
|
22
|
+
to: string;
|
|
23
|
+
relation: EdgeRelation;
|
|
24
|
+
confidence?: number;
|
|
25
|
+
evidence?: Citation[];
|
|
26
|
+
hypothesis?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface AccountContext {
|
|
29
|
+
name?: string;
|
|
30
|
+
revenue_band?: 'sub_500m' | '500m_2b' | '2b_10b' | '10b_plus';
|
|
31
|
+
geography?: string;
|
|
32
|
+
vendor_stack?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface ValueTraceGraph {
|
|
35
|
+
trace_version: '0.3';
|
|
36
|
+
industry: Industry;
|
|
37
|
+
account_context?: AccountContext;
|
|
38
|
+
nodes: TraceNode[];
|
|
39
|
+
edges: TraceEdge[];
|
|
40
|
+
}
|
|
41
|
+
export interface TracePath {
|
|
42
|
+
id: string;
|
|
43
|
+
nodes: string[];
|
|
44
|
+
edges: string[];
|
|
45
|
+
path_confidence: number;
|
|
46
|
+
accountability?: string;
|
|
47
|
+
gating_issues: string[];
|
|
48
|
+
reframing_question: string;
|
|
49
|
+
}
|
|
50
|
+
export interface TraceResult {
|
|
51
|
+
industry: Industry;
|
|
52
|
+
start_node: string;
|
|
53
|
+
paths: TracePath[];
|
|
54
|
+
account_context?: AccountContext;
|
|
55
|
+
generated_at: string;
|
|
56
|
+
}
|
|
57
|
+
export declare function edgeFingerprint(e: TraceEdge): string;
|
|
58
|
+
export declare function findOutgoing(graph: ValueTraceGraph, nodeId: string): TraceEdge[];
|
|
59
|
+
export declare function findIncoming(graph: ValueTraceGraph, nodeId: string): TraceEdge[];
|
|
60
|
+
export declare function getNode(graph: ValueTraceGraph, nodeId: string): TraceNode | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Depth-first walk from start node down through the canonical relation chain:
|
|
63
|
+
* BoardOutcome <-moves- BusinessInitiative <-instruments- OperatingMetric
|
|
64
|
+
* Function <-automates- AICapability <-delivers- VendorComponent
|
|
65
|
+
* AccountabilityLayer -gates- AICapability
|
|
66
|
+
*
|
|
67
|
+
* Returns at most maxPaths complete paths ending at AICapability or
|
|
68
|
+
* VendorComponent leaves.
|
|
69
|
+
*/
|
|
70
|
+
export declare function walkPaths(graph: ValueTraceGraph, startId: string, maxPaths?: number, maxDepth?: number): TracePath[];
|
|
71
|
+
//# sourceMappingURL=value-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-trace.d.ts","sourceRoot":"","sources":["../src/value-trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// AI Value Trace, graph data model and traversal engine.
|
|
2
|
+
//
|
|
3
|
+
// Mirrors the JSON schema at spec/value-trace.schema.json. Provides the
|
|
4
|
+
// data types, a minimal in-memory graph engine, and starter industry
|
|
5
|
+
// templates that run_trace draws on.
|
|
6
|
+
//
|
|
7
|
+
// Design choices:
|
|
8
|
+
// - Directed multi-graph, multiple edges allowed between the same node pair
|
|
9
|
+
// with different relations.
|
|
10
|
+
// - Node ids are dot-namespaced strings (board.revenue-growth, function.cx).
|
|
11
|
+
// - Edge confidence comes from the existing BVF four-pillar engine when a
|
|
12
|
+
// customer initiative is being scored. Template edges carry a static
|
|
13
|
+
// prior confidence drawn from published benchmarks.
|
|
14
|
+
// - No external dependencies. Same constraint as the rest of @aibvf/core.
|
|
15
|
+
// ---------- Graph helpers ----------------------------------------------------
|
|
16
|
+
export function edgeFingerprint(e) {
|
|
17
|
+
return `${e.from}->${e.relation}->${e.to}`;
|
|
18
|
+
}
|
|
19
|
+
export function findOutgoing(graph, nodeId) {
|
|
20
|
+
return graph.edges.filter((e) => e.from === nodeId);
|
|
21
|
+
}
|
|
22
|
+
export function findIncoming(graph, nodeId) {
|
|
23
|
+
return graph.edges.filter((e) => e.to === nodeId);
|
|
24
|
+
}
|
|
25
|
+
export function getNode(graph, nodeId) {
|
|
26
|
+
return graph.nodes.find((n) => n.id === nodeId);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Depth-first walk from start node down through the canonical relation chain:
|
|
30
|
+
* BoardOutcome <-moves- BusinessInitiative <-instruments- OperatingMetric
|
|
31
|
+
* Function <-automates- AICapability <-delivers- VendorComponent
|
|
32
|
+
* AccountabilityLayer -gates- AICapability
|
|
33
|
+
*
|
|
34
|
+
* Returns at most maxPaths complete paths ending at AICapability or
|
|
35
|
+
* VendorComponent leaves.
|
|
36
|
+
*/
|
|
37
|
+
export function walkPaths(graph, startId, maxPaths = 6, maxDepth = 8) {
|
|
38
|
+
const results = [];
|
|
39
|
+
function visit(currentId, nodes, edges, depth) {
|
|
40
|
+
if (results.length >= maxPaths || depth > maxDepth)
|
|
41
|
+
return;
|
|
42
|
+
const node = getNode(graph, currentId);
|
|
43
|
+
if (!node)
|
|
44
|
+
return;
|
|
45
|
+
// Edges to follow depend on node type. We follow the "downward" relation
|
|
46
|
+
// chain so the SCE sees a board outcome flow into an AICapability.
|
|
47
|
+
const downEdges = graph.edges.filter((e) => isDownward(node.type, e, currentId));
|
|
48
|
+
if (downEdges.length === 0) {
|
|
49
|
+
// Leaf reached. Capture path if it terminates at a meaningful leaf.
|
|
50
|
+
if (node.type === 'AICapability' || node.type === 'VendorComponent') {
|
|
51
|
+
results.push(buildPath(graph, nodes, edges));
|
|
52
|
+
}
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
for (const e of downEdges) {
|
|
56
|
+
const next = e.from === currentId ? e.to : e.from;
|
|
57
|
+
if (nodes.includes(next))
|
|
58
|
+
continue; // avoid cycles
|
|
59
|
+
visit(next, [...nodes, next], [...edges, edgeFingerprint(e)], depth + 1);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
visit(startId, [startId], [], 0);
|
|
63
|
+
return results;
|
|
64
|
+
}
|
|
65
|
+
function isDownward(currentType, edge, currentId) {
|
|
66
|
+
// We treat the relation chain as oriented from a Board outcome down to a
|
|
67
|
+
// vendor capability. Each relation has a canonical from-to pair.
|
|
68
|
+
const orient = {
|
|
69
|
+
moves: ['BusinessInitiative', 'BoardOutcome'],
|
|
70
|
+
instruments: ['OperatingMetric', 'BusinessInitiative'],
|
|
71
|
+
tracks: ['Function', 'OperatingMetric'],
|
|
72
|
+
automates: ['AICapability', 'Function'],
|
|
73
|
+
gates: ['AccountabilityLayer', 'AICapability'],
|
|
74
|
+
delivers: ['VendorComponent', 'AICapability'],
|
|
75
|
+
};
|
|
76
|
+
const [src, dst] = orient[edge.relation];
|
|
77
|
+
// Walking downward, we want edges whose dst matches the current type, then
|
|
78
|
+
// we follow to the src.
|
|
79
|
+
if (edge.to === currentId && currentType === dst)
|
|
80
|
+
return true;
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
function buildPath(graph, nodes, edges) {
|
|
84
|
+
// Path confidence = average of edge confidences along the path, defaulting
|
|
85
|
+
// to 60 when an edge has no explicit confidence.
|
|
86
|
+
const edgeConfidences = edges.map((fp) => {
|
|
87
|
+
const e = graph.edges.find((x) => edgeFingerprint(x) === fp);
|
|
88
|
+
return e?.confidence ?? 60;
|
|
89
|
+
});
|
|
90
|
+
const path_confidence = edgeConfidences.length
|
|
91
|
+
? Math.round(edgeConfidences.reduce((a, b) => a + b, 0) / edgeConfidences.length)
|
|
92
|
+
: 0;
|
|
93
|
+
// Find the AccountabilityLayer node that gates the AICapability on this
|
|
94
|
+
// path, if any.
|
|
95
|
+
let accountability;
|
|
96
|
+
const gatingIssues = [];
|
|
97
|
+
for (const id of nodes) {
|
|
98
|
+
const node = getNode(graph, id);
|
|
99
|
+
if (node?.type === 'AICapability') {
|
|
100
|
+
const incomingGates = findIncoming(graph, id).filter((e) => e.relation === 'gates');
|
|
101
|
+
if (incomingGates.length > 0) {
|
|
102
|
+
accountability = incomingGates[0].from;
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
gatingIssues.push(`AICapability ${id} has no AccountabilityLayer, every agent needs a named accountable human.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
id: `${nodes[0]}->${nodes[nodes.length - 1]}`,
|
|
111
|
+
nodes,
|
|
112
|
+
edges,
|
|
113
|
+
path_confidence,
|
|
114
|
+
accountability,
|
|
115
|
+
gating_issues: gatingIssues,
|
|
116
|
+
reframing_question: '', // populated by run_trace
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=value-trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"value-trace.js","sourceRoot":"","sources":["../src/value-trace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@aibvf/core",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "AI BVF
|
|
5
|
-
"keywords": ["ai", "bvf", "ai-governance", "enterprise-ai", "ai-scoring", "ai-roi", "eu-ai-act", "standards"],
|
|
6
|
-
"homepage": "https://bvf-app.vercel.app/protocol",
|
|
7
|
-
"repository": "github:Bahamas1717/ai-bvf",
|
|
8
|
-
"license": "MIT",
|
|
9
|
-
"author": "Craig Horton",
|
|
10
|
-
"type": "module",
|
|
11
|
-
"main": "dist/index.js",
|
|
12
|
-
"types": "dist/index.d.ts",
|
|
13
|
-
"exports": {
|
|
14
|
-
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
|
|
15
|
-
"./schema": { "import": "./dist/schema.js", "types": "./dist/schema.d.ts" }
|
|
16
|
-
},
|
|
17
|
-
"files": ["dist", "README.md", "LICENSE"],
|
|
18
|
-
"scripts": {
|
|
19
|
-
"build": "tsc",
|
|
20
|
-
"test": "node --test dist/*.test.js"
|
|
21
|
-
},
|
|
22
|
-
"devDependencies": {
|
|
23
|
-
"typescript": "^5.4.0",
|
|
24
|
-
"@types/node": "^20.0.0"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@aibvf/core",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "AI BVF and AI Value Trace, open protocol for scoring AI investments and tracing board outcomes to named agents.",
|
|
5
|
+
"keywords": ["ai", "bvf", "ai-value-trace", "ai-governance", "enterprise-ai", "ai-scoring", "ai-roi", "eu-ai-act", "standards", "graph", "agentic"],
|
|
6
|
+
"homepage": "https://bvf-app.vercel.app/protocol",
|
|
7
|
+
"repository": "github:Bahamas1717/ai-bvf",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"author": "Craig Horton",
|
|
10
|
+
"type": "module",
|
|
11
|
+
"main": "dist/index.js",
|
|
12
|
+
"types": "dist/index.d.ts",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
|
|
15
|
+
"./schema": { "import": "./dist/schema.js", "types": "./dist/schema.d.ts" }
|
|
16
|
+
},
|
|
17
|
+
"files": ["dist", "README.md", "LICENSE"],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "tsc",
|
|
20
|
+
"test": "node --test dist/*.test.js"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"typescript": "^5.4.0",
|
|
24
|
+
"@types/node": "^20.0.0"
|
|
25
|
+
}
|
|
26
|
+
}
|