Skip to content

fix(decompose): intersect table settings in shared bases - #230

Merged
orian merged 1 commit into
mainfrom
fix/decompose-settings-intersection
Sep 2, 2026
Merged

orian merged 1 commit into
mainfrom
fix/decompose-settings-intersection

Conversation

@orian

@orian orian commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • synthesize shared table settings from the key-and-value intersection across all member environments
  • compute additive residue patches for every environment, including the selected baseline
  • apply the same intersection rule to assignment-driven group layers
  • keep group placement fail-closed for differences outside table settings
  • document the shared/group settings behavior

This covers settings that are common, present only in a subset, and present everywhere with different values without requiring subtractive patches.

Closes #229

Test plan

  • CLI subprocess end-to-end test with real dumps, JSON assignments, generated shared/group/env files, manifests, and built-in round-trip verification
  • end-to-end coverage in auto and forced-shared modes
  • shared and group settings-intersection coverage in the same production-shaped fixture
  • just test
  • just coverage (race enabled)
  • just vet
  • just build
  • gofmt and git diff checks

@orian
orian merged commit 89109e5 into main Sep 2, 2026
16 checks passed
@orian
orian deleted the fix/decompose-settings-intersection branch September 2, 2026 11:47
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.

decompose: synthesize shared base settings as cross-env intersection instead of baseline shape (fixes 'settings removal' fail-closed)

1 participant