Context
The first approved dynamic configuration in the RFC is registration.mode. Back Office should expose selected runtime configuration safely, without becoming a generic environment-variable editor.
Goal
Implement operational configuration support for registration mode and expose the admin command/query path required to manage it safely.
Scope
- Expose registration.mode for administrative read and write.
- Support OPEN, INVITE_ONLY, and CLOSED values.
- Record configuration changes with audit detail including previous and new values.
- Enforce authorization for configuration changes.
Out of Scope
- Arbitrary environment-variable editing.
- Secret management.
- Unapproved runtime configuration unrelated to current operational needs.
Domain Rules
- Registration policy remains mutually exclusive state.
- Configuration changes must be explicit and auditable.
- Only approved dynamic configuration belongs in Back Office.
API Contract
- Prefer explicit admin query/update contract for registration mode.
- Configuration writes must validate allowed values.
Security
- Requires explicit configuration write permission.
- Server-side validation required.
Audit
- Emit CONFIGURATION_CHANGED events containing the key and before/after values.
Observability
- Configuration changes should be logged with correlation IDs.
Acceptance Criteria
- Administrators can read the current registration mode.
- Authorized administrators can change registration mode between OPEN, INVITE_ONLY, and CLOSED.
- Unauthorized attempts are rejected.
- Configuration changes are audited with previous and new values.
Gherkin
Feature: Operational registration mode configuration
Scenario: Change registration mode
Given registration mode is "OPEN"
When an authorized administrator changes it to "INVITE_ONLY"
Then new registrations should require an invitation
And the change should be audited
Testing
- Application
- API
- Integration
- Security
Dependencies
References
- RFC sections 15, 27, 28, 30, 31, 45
Context
The first approved dynamic configuration in the RFC is registration.mode. Back Office should expose selected runtime configuration safely, without becoming a generic environment-variable editor.
Goal
Implement operational configuration support for registration mode and expose the admin command/query path required to manage it safely.
Scope
Out of Scope
Domain Rules
API Contract
Security
Audit
Observability
Acceptance Criteria
Gherkin
Testing
Dependencies
References