-- NEO-38: per-player non-combat skill XP totals (level derived server-side until data-driven curves).
CREATE TABLE IF NOT EXISTS player_skill_progression (
    player_id TEXT NOT NULL REFERENCES player_position(player_id) ON DELETE CASCADE,
    skill_id TEXT NOT NULL,
    xp INTEGER NOT NULL CHECK (xp >= 0),
    updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
    PRIMARY KEY (player_id, skill_id)
);

COMMENT ON TABLE player_skill_progression IS 'Persisted skill XP per player (NEO-38); level is derived from data-driven LevelCurve content in server runtime.';
