Skip to content

Preserve closed configdrift updates for safe reconciliation - #49

Draft
Coding-Dev-Tools wants to merge 3 commits into
mainfrom
codex/configdrift-review-snapshot-20261013
Draft

Coding-Dev-Tools wants to merge 3 commits into
mainfrom
codex/configdrift-review-snapshot-20261013

Conversation

@Coding-Dev-Tools

Copy link
Copy Markdown
Owner

Draft preservation snapshot of PR #46's exact head 724ad434bbd331e68ee9e864b634cddb56199ec8, made visible as a new review branch because PR #46 is closed. The owner closed #46 with the note: “superseded by main and would revert atomic write features.” Do not merge this snapshot unchanged. Use it only to compare the silent-green scan guard, type-sensitive diff, and duplicate-key warning against current main, then carry forward only safe hunks. No tests were run in this preservation pass.

…nt-green guard)

- exit 1 if zero config files loaded across all environment dirs
- exit 1 if baseline env loaded no keys (empty-baseline diff would flag everything)
- +5 regression tests in TestScanEmptyGuards; suite 148 passed, ruff clean
…ype drift

Python's == treats True == 1, so a config change like 'debug: true -> debug: 1'
silently compared as no drift. _values_differ() now flags cross-type changes
(bool vs number) while same-type comparisons are unchanged.
+7 regression tests in TestTypeSensitiveComparison; suite 155 passed, ruff clean.
scan merges all config files in an environment directory via dict.update(),
so two files defining the same flattened key with different values silently
resolved to glob-order winner. Now emits a stderr warning naming both files
(stderr so --output json stdout stays machine-readable) and globs files in
sorted order for deterministic winner selection. +3 tests (158 pass, ruff clean).

This branch has not been deployed

No deployments
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