Inject config environment access (#293)#330
Draft
lodyai[bot] wants to merge 1 commit into
Draft
Conversation
Introduce an `EnvProvider` port for CLI configuration resolution. Thread it through explicit config selection, diagnostic layer collection, and early diagnostic JSON resolution so tests can use deterministic environment doubles instead of process-wide mutation. Reject malformed `NETSUKE_DIAG_JSON` values with a validation error, and keep discovery load errors visible while resolving startup diagnostic mode.
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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.
Summary
This branch completes the issue #293 environment-access refactor for early CLI
configuration resolution. It introduces an
EnvProviderport, threads itthrough explicit config selection and early diagnostic JSON resolution, and
removes the remaining direct process-environment dependency from
collect_diag_file_layers.Closes #293.
Review walkthrough
EnvProviderport, theStdEnvProvideradapter, and the provider-aware diagnostic resolver.NETSUKE_DIAG_JSONcoverage.Validation
cargo test --workspace config_merge: passed.make check-fmt: passed.make lint: passed.make test: passed.make markdownlint: passed.make nixie: passed.coderabbit review --agent: completed with zero findings on the main implementation pass.Notes
make fmtwas run after the documentation edit. Its Rust formatting stepcompleted, but the target exits non-zero in the Markdown formatting phase
because the underlying
markdownlint --fixcommand reports repository-wideline-length findings in pre-existing untouched documents. The formatter also
rewrote unrelated Markdown files, so those unrelated edits were restored. The
actual validation gates
make check-fmt,make markdownlint, andmake nixieall pass on this branch.