Define precedence without depending on process order
Local, environment, and command-line values are merged in object iteration order, so the same inputs produce different ports in two scripts.
- Focused work estimate
- 1h 30m + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Configuration modeling · Determinism
Estimated field mix
- DevOps70%
- Platform engineering30%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
A fictional notification service uses environment files assembled by shell scripts. Defaults differ by machine, secret values appear in diagnostics, and emergency flags have no expiry. Build a typed local configuration compiler with fake secret references and synthetic environments; no real credentials or notification providers are supplied.
Setup prerequisites
- Configuration precedence
- Schema validation
- Least privilege
Preceding work
No earlier ticket is required. Complete the project setup above.
Acceptance criteria
- Declare precedence for base, environment, and explicit override layers
- Each resolved value retains its source layer
- Duplicate keys within one layer fail parsing
Implementation constraints
- Do not read the host process environment directly in domain tests.
Verification to include
- Resolve the same layers in shuffled input order and compare output.
- Provide duplicate keys and confirm no partial configuration is returned.
Deliverables
- Layered configuration resolver and precedence tests
Rollout and recovery
Generate a report beside the current scripts before switching consumers.
Value of the work
For the engineer: Practice configuration as a reviewed contract with safe diagnostics, provenance, and rollback.
For the team: Review environment changes before deployment and reduce outages caused by missing, stale, or silently defaulted settings.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.