Skip to content

ate-setup: add the uniform configuration package - #2012

Merged
Haven Xia (HavenXia) merged 1 commit into
agent-substrate:mainfrom
stshrive:dev/uniform-config-file
Oct 5, 2026
Merged

Haven Xia (HavenXia) merged 1 commit into
agent-substrate:mainfrom
stshrive:dev/uniform-config-file

Conversation

@stshrive

Copy link
Copy Markdown
Collaborator

Settings reach the installer through a few existing channels

  1. Flags
  2. Environment variables

This changes adds the mechanics of a third: A file-based configuration. Specifically it adds:

  1. A single declaration per setting with precedence resolution that retains the origin that set it.
  2. A document format that rejects unknown keys rather than falling back to a default in silence
  3. Errors that name the channel a bad value came from
  4. A reporting mechanism of what a run resolved
  5. Reading and writing a record of a run's settings.

Nothing calls any of this. The existing parsing path is untouched, so the same flags, variables and messages come out as before.

Next Steps: Wire the new config system into install path.

Notes about this change:
This change leaves the Registry empty. The settings themselves are wiring changes with each one entry replacing a declaration from somewhere else. Moving them belongs with the following change.

Tests that need settings register their own fixtures. Tests that can only be written against a filled registry carry a TODO.

This work is for #1887

  • Tests pass
  • Appropriate changes to documentation are included in the PR
    • Documentation belongs in following PR.

Comment thread cmd/ate-setup/internal/config/record.go Resolved
Comment thread cmd/ate-setup/internal/config/file.go Resolved
@HavenXia

Copy link
Copy Markdown
Member

below are other nits from agents

Comment thread cmd/ate-setup/internal/config/errors.go Resolved
Comment thread cmd/ate-setup/internal/config/file.go Resolved
Comment thread cmd/ate-setup/internal/config/file.go Resolved
@stshrive

Copy link
Copy Markdown
Collaborator Author

Agent review comments were resolved in latest changes.

Settings reach the installer through a few existing channels

1. Flags
2. Environment variables

This changes adds the mechanics of a third: _A file-based configuration_.
Specifically it adds:

1. A single declaration per setting with precedence resolution that retains
   the origin that set it.
2. A document format that rejects unknown keys rather than falling back to
   a default in silence
3. Errors that name the channel a bad value came from
4. A reporting mechanism of what a run resolved
5. Reading and writing a record of a run's settings.

**Next Steps**: Wire the new config system into install path.

Nothing calls any of this. The existing parsing path is untouched, so the
same flags, variables and messages come out as before.

This change leaves the `Registry` empty. The settings themselves are wiring
changes with each one entry replacing a declaration from somewhere else.
Moving them belongs with the following change.

Tests that need settings register their own fixtures. Tests that can only
be written against a filled registry carry a TODO.
@HavenXia
Haven Xia (HavenXia) added this pull request to the merge queue Oct 5, 2026
Merged via the queue into agent-substrate:main with commit 15636e4 Oct 5, 2026
10 checks passed
@stshrive
Steven Shriver (stshrive) deleted the dev/uniform-config-file branch October 26, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants