Describe the problem, intended behavior, and why this repository owns the change.
- The change is focused and does not silently cross repository ownership boundaries.
- No
*-infrarepository is introduced as a Git submodule under*-monorepo/apps. - Public contracts, migrations, compatibility, and rollback needs are documented.
List formatters, linters, tests, builds, security checks, and manual verification performed.
- No credentials, customer data, or private-repository inventory is included.
- Conflicts were resolved semantically using both sides and relevant history.
- Destructive Git recovery and history rewrites were not used.
- Source commits are immutable
- Product assertions execute
- Failure and recovery paths execute
- Logs contain no secrets or raw private media
- Emulator/browser/database matrices are justified
If this PR supersedes or replaces an older one, say which, and name at least one
concrete thing carried forward from it (a test, a fixture, an error message, a
pin, a doc paragraph). See docs/pr-salvage-policy.md.
- Supersedes nothing, or the salvaged item is named above.