refactor(api): Align route slices and audit ownership - #217
Merged
Merged
Conversation
Keep critical mutations and their audit events in one transaction; publish structured audit logs only after commit. Refs #209.
Explicitly run delivery and Node deletion suites against the disposable CI database now that environment-dependent tests are ignored by default. Refs #214
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
Control API previously mixed multiple URL paths in feature files, reused controller modules as business utilities, and split audit persistence and logging across layers. Features now mirror the URL tree, with each endpoint owning its controllers and local request/response types and each parent composing its immediate child routers.
infra/audit. Critical mutations share their audit transaction; success logs are emitted only after commit.{"display_name":null}now clears the personal display name. Preserve database state representations and retain redacted diagnostic sources; distinguish region usage conflicts from infrastructure failures.Review entry points and lasting conventions are recorded in
docs/agents/control-api-refactor-review.md,docs/agents/control-api-conventions.mdanddocs/agents/control-api-routes.md.Validation
just qualitypassed before each commit: formatting, workspace Clippy, Rust tests, Console tests/checks, workspace checks/builds and license checks.git diff --checkpassed.--ignored --listlocally.51846430: Quality, Node delivery smoke and Release images. The selected PostgreSQL suites passed 10 + 6 tests, and both database schema checks passed.Tracking
Parent: #207.
Closes #208
Closes #209
Closes #210
Closes #211
Closes #212
Closes #213
Closes #214
Closes #215
The TODO cleanup in #216 remains open until this implementation is merged; it then removes the complete temporary standardization group. The parent issue remains open until that cleanup is complete.
Known Limitations
No dedicated local PostgreSQL or Redis test environment was configured. Local ignored database/schema/Redis cases were compiled but not executed, and external-tool Node cases remain ignored locally. CI separately runs the selected PostgreSQL lifecycle suites, schema checks and Node delivery smoke test. Other ignored cases remain outside these checks. This change does not modify the database schema.