Skip to content

apollo_config: make native the sole config-load path#14631

Open
nimrod-starkware wants to merge 1 commit into
nimrod/jsonnet/config-serde-symmetricfrom
nimrod/jsonnet/native-sole-load
Open

apollo_config: make native the sole config-load path#14631
nimrod-starkware wants to merge 1 commit into
nimrod/jsonnet/config-serde-symmetricfrom
nimrod/jsonnet/native-sole-load

Conversation

@nimrod-starkware

Copy link
Copy Markdown
Contributor

Delete the preset branch of load_and_process_config so load_native is the only
loader: remove the ConfigFormat enum + --config_format arg, the per-param CLI
override parser (build_args_parser/update_config_map_by_command_args), the
load-time config_schema.json read, the pointer-resolution and #is_none-folding
functions (split_pointers_map, split_values_and_types,
update_config_map_by_pointers, update_optional_values), and the config_parity
dev bin. Callers stop passing --config_format. Pointer/#is_none DEFINITIONS,
CONFIG_POINTERS, dump()/SerializeConfig, and CONFIG_SCHEMA_PATH are retained for
later phases.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

@reviewable-StarkWare

Copy link
Copy Markdown

This change is Reviewable

nimrod-starkware commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/config-serde-symmetric branch from 22984a6 to 407157e Compare June 28, 2026 08:19
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/native-sole-load branch from d8e24ea to 06da659 Compare June 28, 2026 08:19
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/native-sole-load branch from 06da659 to 5eb5701 Compare June 28, 2026 10:14
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/config-serde-symmetric branch from 407157e to 9b677ae Compare June 28, 2026 10:14
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/native-sole-load branch from 5eb5701 to ec5b1f7 Compare June 28, 2026 10:30
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/config-serde-symmetric branch from 9b677ae to de0822e Compare June 28, 2026 10:30
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/config-serde-symmetric branch from de0822e to e752ded Compare June 28, 2026 14:04
@nimrod-starkware nimrod-starkware force-pushed the nimrod/jsonnet/native-sole-load branch from ec5b1f7 to ff18571 Compare June 28, 2026 14:04
@nimrod-starkware nimrod-starkware self-assigned this Jun 29, 2026
@nimrod-starkware nimrod-starkware marked this pull request as ready for review June 29, 2026 06:47
@cursor

cursor Bot commented Jun 29, 2026

Copy link
Copy Markdown

PR Summary

High Risk
This is a breaking change to how every binary loads configuration (arity, file shape, and no CLI/env overrides), so mis-deployed or legacy launch flags will fail at startup until callers are updated.

Overview
Config loading is now native-only: nested base JSON plus a flat dotted-key secrets file (exactly two --config_file paths). The preset pipeline, ConfigFormat / --config_format, per-parameter CLI and env overrides, and runtime pointer / #is_none resolution at load time are removed.

load_and_process_config no longer reads config_schema.json; clap only registers --config_file. SequencerNodeConfig::load_and_process passes CLI args straight into that loader. Docs and tests use the two-file native flow; integration node spawns drop --config_format. The config_parity dev binary is deleted. Dumping (SerializeConfig, CONFIG_POINTERS, preset artifacts) stays for deployment tooling.

Reviewed by Cursor Bugbot for commit 71cb679. Bugbot is set up for automated code reviews on this repo. Configure here.

Delete the preset branch of load_and_process_config so load_native is the only
loader: remove the ConfigFormat enum + --config_format arg, the per-param CLI
override parser (build_args_parser/update_config_map_by_command_args), the
load-time config_schema.json read, the pointer-resolution and #is_none-folding
functions (split_pointers_map, split_values_and_types,
update_config_map_by_pointers, update_optional_values), and the config_parity
dev bin. Callers stop passing --config_format. Pointer/#is_none DEFINITIONS,
CONFIG_POINTERS, dump()/SerializeConfig, and CONFIG_SCHEMA_PATH are retained for
later phases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants