Soto Config (Centralized Defaults)
[Created by Codex: 019b7ddb-6768-73f2-a5ef-a92e77f5fad1]
Purpose
Maintain a single source of truth for tunable app behavior by centralizing defaults in soto_config.ts (APP_CONFIG) and wiring UI + scripts to read from it.
When To Use
- •Add or change a default toggle/slider/view in the UI.
- •Tune Live Logs behavior (timeouts, debug limits, takeover behavior, tail-last-N policy).
- •Adjust “follow mode” / auto-scroll heuristics (thresholds, intent windows).
- •Eliminate hard-coded defaults spread across components or scripts.
Rules
- •Store user-tunable defaults in
soto_config.tsunderAPP_CONFIG(keepas const). - •Keep values stable and low-risk to consume (primitive/POJO; avoid functions).
- •Import
APP_CONFIGfrom./soto_configor../soto_config(do not reintroduceconfig.ts). - •Keep namespaces small and obvious (e.g.,
ui,liveLogs,replaySseLogs). - •Treat component-local constants as acceptable only when they are truly internal and not user-tunable.
Workflow (Agent Checklist)
- •Decide whether the change is user-tunable.
- •Add/update the knob in
soto_config.tsunder an appropriate namespace. - •Replace callsites to consume
APP_CONFIGinstead of literals. - •Update any scripts that parse
soto_config.tsvia regex/text scanning (keep parsing minimal and robust). - •Validate by running
npm run build(and any relevant helper scripts).
Known Config Surface (This Repo)
- •UI defaults:
APP_CONFIG.ui.* - •Follow mode:
APP_CONFIG.ui.followMode.scrollBottomThresholdPx - •Live Logs:
APP_CONFIG.liveLogs.* - •Replay helpers:
APP_CONFIG.replaySseLogs.*
Cross-Tool Note (Claude Code)
Claude Code loads project skills from .claude/skills. Keep canonical skills under skills/; expose them to Claude Code via a symlink from .claude/skills to skills/.