// engine/estimator/constants.ts — Estimation constants and lookup tables
// SPEC-011: used by calculateEstimation and estimateSpec
export const DEFAULT_CONFIG = {
    defaultLocale: 'en',
    defaultExperienceLevel: 'intermediate',
    hourlyRate: 65,
    pricingOpusPerMToken: 15,
    pricingSonnetPerMToken: 3,
};
/**
 * Base hours by spec type. These represent the minimum expected effort
 * for the simplest version of each type.
 */
export const BASE_HOURS_BY_TYPE = {
    feature: 8,
    refactor: 6,
    bugfix: 3,
    infra: 5,
    docs: 2,
    project: 16,
    agent: 20, // SPEC-016a: AI agent specs require more effort
    'tech-debt': 8, // SPEC-027: tech debt resolution effort
};
/**
 * Scope multipliers increase effort based on how many modules/systems
 * are touched by the spec.
 */
export const SCOPE_MULTIPLIER = {
    trivial: 0.3,
    feature: 1.0,
    'cross-module': 2.0,
    architectural: 3.5,
};
/**
 * Difficulty multipliers (1-5 scale).
 * Difficulty 1 = straightforward, 5 = novel/complex problem.
 */
export const DIFFICULTY_MULTIPLIER = {
    1: 0.6,
    2: 0.85,
    3: 1.0,
    4: 1.4,
    5: 2.0,
};
/**
 * Review hours as a fraction of dev hours, by difficulty.
 */
export const REVIEW_RATIO = {
    1: 0.1,
    2: 0.15,
    3: 0.2,
    4: 0.25,
    5: 0.35,
};
/**
 * Base tokens (input+output) per dev hour, by model tier.
 */
export const TOKENS_PER_DEV_HOUR = {
    opus: 12_000,
    sonnet: 25_000,
};
/**
 * Mode reduction factors for token calculation.
 */
export const MODE_REDUCTION = {
    local: 0.4,
    template: 0.2,
    'light-llm': 0.7,
    'full-llm': 1.0,
};
//# sourceMappingURL=constants.js.map