feat: flatten config examples into a single-level shape - #944
Merged
Conversation
- Shared arg groups (alignment, model, metadata id, output, ...) serialized under a wrapper key that repeated the field name (alignment.alignment, model_args.model, metadata_id.metadata_id_columns), so a config file read worse than the CLI it mirrors and diverged from the "every key has a matching flag" contract - Flattening the leaf wrapper fields on each command's serde-facing raw type makes config keys one-to-one with CLI flags; schemars inlines them into one flat schema with additionalProperties:false, so strict unknown-key rejection is preserved and validated before deserialization
- Rewrite every example to the flat config shape so each file reads like the CLI it mirrors, and drop redundant default keys - Add faithful full builds on the largest datasets (mpox clade IIb 1000, SARS-CoV-2 2844, influenza H3N2 500) alongside the existing Ebola build, with shared clock constants defined once in typed vars - Correct overstated framing: the mpox example now runs the actual optimize/ancestral/timetree chain from the nextstrain/mpox WIP/new_tt workflow rather than a generic two-step stand-in
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on: refactor: validate required command arguments before running #943
Mark shared leaf arg groups
#[serde(flatten)]on each command's*Rawtype so config keys match CLI flags [src]Write each step's
output_alland read the alignment input path at the top level in the pipeline resolver [src][src]Rewrite every example config and pipeline to the flat shape and drop redundant default keys [src]
Add full builds on the largest datasets (mpox clade IIb, SARS-CoV-2, influenza H3N2) mirroring the Nextstrain TreeTime chain [src]