// File: weights.ts // Path: packages/scoring/src/weights.ts // Project: AI Risk Index — airiskindex.io // Author: Simon-Pierre Boucher // Contact: contact@spboucher.ai // Copyright © 2026 Simon-Pierre Boucher. All rights reserved. // // Description: Composite dimension weights and orientation — single source of truth for the methodology. /** * Composite dimension weights — the single source of truth (CLAUDE.md §1: * never hardcode weights anywhere else). METHODOLOGY.md §4. */ export const DIMENSIONS = [ "automatability", "feasibility", "cost_ratio", "barriers", "adoption_velocity", ] as const; export type DimensionKey = (typeof DIMENSIONS)[number]; export const WEIGHTS: Record = { automatability: 0.35, feasibility: 0.2, cost_ratio: 0.15, barriers: 0.2, adoption_velocity: 0.1, }; /** * Dimensions where a higher rating means LESS substitution pressure * (stronger barriers protect the task) — METHODOLOGY.md §4 "orientation". */ export const INVERTED_DIMENSIONS: ReadonlySet = new Set(["barriers"]); /** Dimensions composing the exposure sub-score — METHODOLOGY.md §5. */ export const EXPOSURE_DIMENSIONS: readonly DimensionKey[] = ["automatability", "feasibility"];