Standards

S004 — Config is Opinion

Domain language in config, not code.

S004 — Config is Opinion (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | Domain language in config, not code. 1 - CONFIG LOADING - Loading configuration CLI Args --role=manager --domain=healthcare Environment Variables KEVIN_ROLE=manager KEVIN_DOMAIN=healthcare User Config File ~/.kevin/config.json Project Config File project_root/config.json role domain 2 - DATA MODELING - Using generic field names load_config() config.py:100 Note Model models/note.py subject_id content config 3 - PROMPT GENERATION - Configuring prompts generate_note() Prompt Config config.yaml note_generation_prompt prompt 1. Parse CLI args 2. Load environment varia… 3. Read user config file 4. Read project config fi… 5. Initialize Note model… 6. Load prompt configurat… 7. Generate note using co… User Config JSON { "role": "manager", "domain": "healthcare" } Prompt Config YAML note_generation_prompt: "You are a clinical psychologist. Analyze the note and provide assessment." 9 of 10 identifiers appear only in design docs, not in code — this shows SPECIFIED behaviour, not verified implementation. Configuration files are prioritized in a specific order, with CLI args taking precedence. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Standards
Slug
s004-config-is-opinion
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
1 path
  • daemon/docs/standards/CONFIG_IS_OPINION.md