Skip to content

feat: flatten providers config by removing redundant openai nesting #484

Description

@avoidwork

Summary

The providers.openai nesting in config.yaml is redundant since the type: openai field already identifies the provider. Flatten the structure by moving providers.openai to providers and moving type up one level.

Motivation

The openai key under providers adds no value — it's a redundant nesting level. The type field already identifies the provider, and the openai key is not used for any lookup or routing yet. Flattening simplifies the config structure and removes unnecessary indirection.

Current structure:

providers:
  openai:
    type: openai
    base_url: https://api.openai.com/v1
    model: gpt-4o
    ...

Proposed Solution

Change from providers.openai to providers, and move type from providers.openai.type to providers.type:

providers:
  type: openai
  base_url: https://api.openai.com/v1
  model: gpt-4o
  ...

Alternatives Considered

Keeping the current structure — but it adds an unnecessary nesting level with no functional benefit.

OpenSpec Note

This project uses OpenSpec for feature development. If this request is approved, I will:

  1. Run /opsx:propose to generate a full proposal with specs and tasks
  2. Iterate on the design before any code is written
  3. Follow the task-driven implementation workflow

Additional Context

This is a config-only change. The openai key under providers is not referenced anywhere in the codebase for routing or lookup — the type field is the sole identifier.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions