@aibvf/core 0.3.0 → 0.3.2

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/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Craig Horton
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ Content under `./spec/` (the AI BVF Protocol specification and associated
26
+ JSON Schema) is licensed under Creative Commons Attribution 4.0 International
27
+ (CC-BY-4.0): https://creativecommons.org/licenses/by/4.0/
28
+
29
+ "AI BVF", "AI BVF Certified", and the AI BVF logo are trademarks and are not
30
+ licensed under MIT or CC-BY-4.0.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  AI BVF v1.0 — open protocol for scoring AI investments. Validator and scoring engine.
4
4
 
5
+ > **Source:** [github.com/Bahamas1717/ai-bvf](https://github.com/Bahamas1717/ai-bvf) · ⭐ star if this helped · [Issues](https://github.com/Bahamas1717/ai-bvf/issues) · Built by [Craig Horton Advisory](https://craighortonadvisory.com)
6
+
5
7
  ```bash
6
8
  npm install @aibvf/core
7
9
  ```
@@ -41,8 +43,8 @@ console.log(r.net_high_eur); // ~247M
41
43
 
42
44
  ## Spec
43
45
 
44
- Full specification at [bvf-app.vercel.app/protocol](https://bvf-app.vercel.app/protocol).
45
- JSON Schema at [bvf-app.vercel.app/bvf-protocol.schema.json](https://bvf-app.vercel.app/bvf-protocol.schema.json).
46
+ Full specification at [www.aibvf.com/protocol](https://www.aibvf.com/protocol).
47
+ JSON Schema at [www.aibvf.com/bvf-protocol.schema.json](https://www.aibvf.com/bvf-protocol.schema.json).
46
48
 
47
49
  ## License
48
50
 
package/dist/index.d.ts CHANGED
@@ -3,13 +3,5 @@ export { score, recommendImprovements, calculatePaceLayerDrag, BASE_RATES, IND_M
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';
13
6
  export declare const BVF_VERSION = "1.0";
14
- export declare const TRACE_VERSION = "0.3";
15
7
  //# sourceMappingURL=index.d.ts.map
@@ -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;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"}
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"}
package/dist/index.js CHANGED
@@ -2,11 +2,5 @@ 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
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';
10
5
  export const BVF_VERSION = '1.0';
11
- export const TRACE_VERSION = '0.3';
12
6
  //# 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,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"}
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"}
package/dist/schema.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export declare const bvfSchema: {
6
6
  readonly $schema: "https://json-schema.org/draft/2020-12/schema";
7
- readonly $id: "https://bvf-app.vercel.app/bvf-protocol.schema.json";
7
+ readonly $id: "https://www.aibvf.com/bvf-protocol.schema.json";
8
8
  readonly title: "AI BVF Portfolio v1.0";
9
9
  readonly type: "object";
10
10
  readonly required: readonly ["bvf_version", "organization", "initiatives"];
package/dist/schema.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  export const bvfSchema = {
6
6
  $schema: 'https://json-schema.org/draft/2020-12/schema',
7
- $id: 'https://bvf-app.vercel.app/bvf-protocol.schema.json',
7
+ $id: 'https://www.aibvf.com/bvf-protocol.schema.json',
8
8
  title: 'AI BVF Portfolio v1.0',
9
9
  type: 'object',
10
10
  required: ['bvf_version', 'organization', 'initiatives'],
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,8CAA8C;IACvD,GAAG,EAAE,qDAAqD;IAC1D,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;IACxD,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAC9B,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,YAAY,EAAC,WAAW,EAAC,eAAe,EAAC,WAAW,EAAC,cAAc,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,CAAC;iBACxL;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;aAC3C;SACF;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;KAC5C;CACO,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO,EAAE,8CAA8C;IACvD,GAAG,EAAE,gDAAgD;IACrD,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC;IACxD,UAAU,EAAE;QACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;QAC7C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;YAC9B,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,WAAW,EAAC,UAAU,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,YAAY,EAAC,WAAW,EAAC,eAAe,EAAC,WAAW,EAAC,cAAc,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,CAAC;iBACxL;gBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE;gBAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;aAC3C;SACF;QACD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;KAC5C;CACO,CAAC"}
package/dist/score.js CHANGED
@@ -115,10 +115,10 @@ export function score(input) {
115
115
  if (!cap)
116
116
  throw new Error(`Unknown readiness: ${readiness}`);
117
117
  const { strategic_alignment: sa, financial_return: fr, change_enablement: ce, governance_risk: gr } = scores;
118
- const grossLo = revenue_eur * (base.rev.lo + base.cost.lo) * mult * tAdj;
119
- const grossHi = revenue_eur * (base.rev.hi + base.cost.hi) * mult * tAdj;
120
- const netLo = grossLo * cap.low;
121
- const netHi = grossHi * cap.high;
118
+ const grossLo = Math.round(revenue_eur * (base.rev.lo + base.cost.lo) * mult * tAdj);
119
+ const grossHi = Math.round(revenue_eur * (base.rev.hi + base.cost.hi) * mult * tAdj);
120
+ const netLo = Math.round(grossLo * cap.low);
121
+ const netHi = Math.round(grossHi * cap.high);
122
122
  const cls = classify(sa, fr, ce, gr);
123
123
  const confidence = Math.round((sa + fr + ce + (100 - gr)) / 4);
124
124
  return {
@@ -219,8 +219,8 @@ export function calculatePaceLayerDrag(input) {
219
219
  const rate = tier[readiness];
220
220
  if (!rate)
221
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;
222
+ const annual_drag_eur_low = Math.round(revenue_eur * rate.lo);
223
+ const annual_drag_eur_high = Math.round(revenue_eur * rate.hi);
224
224
  let pace_gap = 'minimal';
225
225
  if (ai_tier === 'gen3' && readiness !== 'agile')
226
226
  pace_gap = 'severe';
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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"}
package/package.json CHANGED
@@ -1,26 +1,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
- }
1
+ {
2
+ "name": "@aibvf/core",
3
+ "version": "0.3.2",
4
+ "description": "AI BVF open protocol for scoring AI investments. Validator and scoring engine.",
5
+ "keywords": ["ai", "bvf", "ai-governance", "enterprise-ai", "ai-scoring", "ai-roi", "eu-ai-act", "standards"],
6
+ "homepage": "https://www.aibvf.com/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,28 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,89 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspect-node.js","sourceRoot":"","sources":["../src/inspect-node.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
package/dist/run-trace.js DELETED
@@ -1,112 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-trace.js","sourceRoot":"","sources":["../src/run-trace.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
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
@@ -1 +0,0 @@
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"}
package/dist/templates.js DELETED
@@ -1,211 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,qEAAqE;AACrE,6EAA6E;AAC7E,2CAA2C;AAC3C,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,yCAAyC;AACzC,EAAE;AACF,0EAA0E;AAC1E,wEAAwE;AACxE,+BAA+B;AAK/B,4CAA4C;AAC5C,MAAM,qBAAqB,GAAgB;IACzC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;IAC9D,EAAE,EAAE,EAAE,aAAa,EAAO,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACvE,EAAE,EAAE,EAAE,gBAAgB,EAAI,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACxE,EAAE,EAAE,EAAE,iBAAiB,EAAG,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE;IACnE,EAAE,EAAE,EAAE,aAAa,EAAO,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC1E,EAAE,EAAE,EAAE,eAAe,EAAK,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC1E,EAAE,EAAE,EAAE,aAAa,EAAO,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACtE,EAAE,EAAE,EAAE,aAAa,EAAO,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE;CAC5E,CAAC;AAEF,MAAM,2BAA2B,GAAgB;IAC/C,EAAE,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACjG,EAAE,EAAE,EAAE,oBAAoB,EAAe,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACxG,EAAE,EAAE,EAAE,oBAAoB,EAAe,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACnG,EAAE,EAAE,EAAE,oBAAoB,EAAe,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IACxG,EAAE,EAAE,EAAE,oBAAoB,EAAe,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACnG,EAAE,EAAE,EAAE,wBAAwB,EAAW,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE;CACpG,CAAC;AAEF,8EAA8E;AAC9E,yEAAyE;AACzE,iFAAiF;AACjF,MAAM,mBAAmB,GAAgB;IACvC,EAAE,EAAE,EAAE,mBAAmB,EAAa,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,oCAAoC,EAAE;IAC5G,EAAE,EAAE,EAAE,yBAAyB,EAAO,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACpG,EAAE,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC/F,EAAE,EAAE,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC/F,EAAE,EAAE,EAAE,0BAA0B,EAAM,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC3F,EAAE,EAAE,EAAE,4BAA4B,EAAI,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC7F,EAAE,EAAE,EAAE,yBAAyB,EAAO,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CAC3F,CAAC;AAEF,8EAA8E;AAE9E,MAAM,QAAQ,GAAgB;IAC5B,gDAAgD;IAChD,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,iCAAiC;QACnG,cAAc,EAAE,CAAC,WAAW,CAAC;QAC7B,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAC/E,EAAE,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB;QACrF,cAAc,EAAE,CAAC,WAAW,CAAC;QAC7B,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAC/D,EAAE,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qDAAqD;QAClH,cAAc,EAAE,CAAC,WAAW,CAAC;QAC7B,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAEzE,mDAAmD;IACnD,EAAE,EAAE,EAAE,gCAAgC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,4CAA4C;QACrH,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE;IACjC,EAAE,EAAE,EAAE,mCAAmC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,+BAA+B;QAC3G,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE;IACjC,EAAE,EAAE,EAAE,oCAAoC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,4CAA4C;QACzH,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE;IAEjC,mDAAmD;IACnD,EAAE,EAAE,EAAE,gCAAgC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uCAAuC;QAC7G,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;IAC7B,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uCAAuC;QACnG,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;IAC5B,EAAE,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gDAAgD;QACvH,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IAE1B,8BAA8B;IAC9B,EAAE,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB;QAC3F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;IAC9C,EAAE,EAAE,EAAE,6BAA6B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,0CAA0C;QAC1G,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;IAC7C,EAAE,EAAE,EAAE,mCAAmC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAyB;QAC/F,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;CAC5C,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,8BAA8B;IAC9B,EAAE,IAAI,EAAE,gCAAgC,EAAM,EAAE,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO;QAClG,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,uCAAuC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAC/E,EAAE,IAAI,EAAE,mCAAmC,EAAG,EAAE,EAAE,0BAA0B,EAAO,QAAQ,EAAE,OAAO;QAClG,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,iCAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IACzE,EAAE,IAAI,EAAE,oCAAoC,EAAE,EAAE,EAAE,4BAA4B,EAAK,QAAQ,EAAE,OAAO;QAClG,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAE/D,iCAAiC;IACjC,EAAE,IAAI,EAAE,gCAAgC,EAAM,EAAE,EAAE,gCAAgC,EAAM,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IACjI,EAAE,IAAI,EAAE,sBAAsB,EAAgB,EAAE,EAAE,mCAAmC,EAAG,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IACjI,EAAE,IAAI,EAAE,iCAAiC,EAAK,EAAE,EAAE,oCAAoC,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IAEjI,4DAA4D;IAC5D,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,gCAAgC,EAAI,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IACtG,EAAE,IAAI,EAAE,eAAe,EAAG,EAAE,EAAE,sBAAsB,EAAc,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IACtG,EAAE,IAAI,EAAE,aAAa,EAAK,EAAE,EAAE,iCAAiC,EAAG,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAEtG,4BAA4B;IAC5B,EAAE,IAAI,EAAE,iCAAiC,EAAI,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1G,EAAE,IAAI,EAAE,6BAA6B,EAAQ,EAAE,EAAE,eAAe,EAAG,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1G,EAAE,IAAI,EAAE,mCAAmC,EAAE,EAAE,EAAE,aAAa,EAAK,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAE1G,0CAA0C;IAC1C,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,iCAAiC,EAAI,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACvH,EAAE,IAAI,EAAE,oBAAoB,EAAe,EAAE,EAAE,6BAA6B,EAAQ,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACvH,EAAE,IAAI,EAAE,oBAAoB,EAAe,EAAE,EAAE,mCAAmC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAEvH,qCAAqC;IACrC,EAAE,IAAI,EAAE,8BAA8B,EAAE,EAAE,EAAE,iCAAiC,EAAI,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACvH,EAAE,IAAI,EAAE,8BAA8B,EAAE,EAAE,EAAE,mCAAmC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACvH,EAAE,IAAI,EAAE,0BAA0B,EAAM,EAAE,EAAE,mCAAmC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACvH,EAAE,IAAI,EAAE,yBAAyB,EAAO,EAAE,EAAE,6BAA6B,EAAQ,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;CACxH,CAAC;AAEF,8EAA8E;AAE9E,MAAM,QAAQ,GAAgB;IAC5B,EAAE,EAAE,EAAE,2BAA2B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,yBAAyB;QACvF,cAAc,EAAE,CAAC,eAAe,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IACjF,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,uCAAuC;QAChG,cAAc,EAAE,CAAC,eAAe,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IACtE,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kCAAkC;QAC7F,cAAc,EAAE,CAAC,eAAe,CAAC;QACjC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAEjE,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,mDAAmD;QAC3H,cAAc,EAAE,CAAC,eAAe,CAAC,EAAE;IACrC,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,sCAAsC;QAC9G,cAAc,EAAE,CAAC,eAAe,CAAC,EAAE;IAErC,EAAE,EAAE,EAAE,2BAA2B,EAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IACrH,EAAE,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,sCAAsC,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IAEpI,EAAE,EAAE,EAAE,8BAA8B,EAAM,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IAC9I,EAAE,EAAE,EAAE,kCAAkC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,sCAAsC,EAAU,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;CACjK,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QACzG,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,yCAAyC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IACjF,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,wBAAwB,EAAK,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAC7G,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,sBAAsB,EAAO,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QACzG,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAEtE,EAAE,IAAI,EAAE,2BAA2B,EAAG,EAAE,EAAE,+BAA+B,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IACpH,EAAE,IAAI,EAAE,4BAA4B,EAAE,EAAE,EAAE,+BAA+B,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IAEpH,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,2BAA2B,EAAG,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC7F,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,4BAA4B,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAE7F,EAAE,IAAI,EAAE,8BAA8B,EAAM,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IACtG,EAAE,IAAI,EAAE,kCAAkC,EAAE,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAEtG,EAAE,IAAI,EAAE,oBAAoB,EAAe,EAAE,EAAE,8BAA8B,EAAM,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACtH,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,kCAAkC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAEtH,EAAE,IAAI,EAAE,0BAA0B,EAAG,EAAE,EAAE,8BAA8B,EAAM,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACnH,EAAE,IAAI,EAAE,mBAAmB,EAAU,EAAE,EAAE,kCAAkC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACnH,EAAE,IAAI,EAAE,yBAAyB,EAAI,EAAE,EAAE,kCAAkC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;CACpH,CAAC;AAEF,8EAA8E;AAE9E,MAAM,QAAQ,GAAgB;IAC5B,EAAE,EAAE,EAAE,2BAA2B,EAAI,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,uBAAuB;QACvF,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAC5G,EAAE,EAAE,EAAE,2BAA2B,EAAI,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,6CAA6C;QAC7G,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;IAErG,EAAE,EAAE,EAAE,sCAAsC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,gCAAgC;QAC/G,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE;IAClC,EAAE,EAAE,EAAE,0BAA0B,EAAc,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,gCAAgC;QAC/G,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE;IAElC,EAAE,EAAE,EAAE,gCAAgC,EAAG,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,iDAAiD,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IACpJ,EAAE,EAAE,EAAE,2BAA2B,EAAQ,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,uCAAuC,EAAY,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;IAEtJ,EAAE,EAAE,EAAE,iCAAiC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,EAAE;IACvI,EAAE,EAAE,EAAE,4BAA4B,EAAO,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;CACjJ,CAAC;AAEF,MAAM,QAAQ,GAAgB;IAC5B,EAAE,IAAI,EAAE,sCAAsC,EAAE,EAAE,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACpH,EAAE,IAAI,EAAE,sCAAsC,EAAE,EAAE,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACpH,EAAE,IAAI,EAAE,0BAA0B,EAAc,EAAE,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAEpH,EAAE,IAAI,EAAE,gCAAgC,EAAE,EAAE,EAAE,sCAAsC,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/H,EAAE,IAAI,EAAE,2BAA2B,EAAO,EAAE,EAAE,0BAA0B,EAAc,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;IAE/H,EAAE,IAAI,EAAE,aAAa,EAAI,EAAE,EAAE,gCAAgC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IACnG,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,2BAA2B,EAAO,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAEnG,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,aAAa,EAAI,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IACvG,EAAE,IAAI,EAAE,4BAA4B,EAAO,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;IAEvG,EAAE,IAAI,EAAE,oBAAoB,EAAe,EAAE,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IACrH,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,4BAA4B,EAAO,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;IAErH,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,EAAE,iCAAiC,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACjH,EAAE,IAAI,EAAE,8BAA8B,EAAE,EAAE,EAAE,4BAA4B,EAAG,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;IACjH,EAAE,IAAI,EAAE,8BAA8B,EAAE,EAAE,EAAE,4BAA4B,EAAG,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE;CAClH,CAAC;AAEF,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB,CAAC,QAAkB;IACpD,MAAM,IAAI,GAAoB;QAC5B,aAAa,EAAE,KAAK;QACpB,QAAQ;QACR,KAAK,EAAE,CAAC,GAAG,qBAAqB,EAAE,GAAG,2BAA2B,EAAE,GAAG,mBAAmB,CAAC;QACzF,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW;YACd,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,KAAK,eAAe;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,KAAK,YAAY;YACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd;YACE,0EAA0E;YAC1E,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAe,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC"}
@@ -1,71 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"value-trace.d.ts","sourceRoot":"","sources":["../src/value-trace.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"value-trace.js","sourceRoot":"","sources":["../src/value-trace.ts"],"names":[],"mappings":"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"}