2 Commits

Author SHA1 Message Date
Kabiru Mwenja 0acda9d84b Cover historical reservation under :semantic_conversion context
Addresses Copilot review on PR 22982. The previous spec covered
historical reservation in the two mode contexts but lost the case
where another project's FriendlyId slug history blocks a semantic
identifier when the global mode is classic — the exact scenario
that drives the converter service's :semantic_conversion path.
2026-04-29 12:02:24 +03:00
Kabiru Mwenja 47fe076905 Move validator into Projects namespace
- Validator moves to app/validators/projects/identifier_validator.rb
  as Projects::IdentifierValidator. The path-style symbol on the
  validates declaration ('projects/identifier') resolves to it.
  Distinguishes domain-specific validators from globally reusable
  ones (UrlValidator, JsonValidator, etc).

- Spec moves to spec/validators/projects/identifier_validator_spec.rb.

- Trim comments that explained framework conventions (validator
  lookup, declaration order). Keep comments only where the WHY is
  non-obvious to a Rails-fluent reader.
2026-04-29 11:30:50 +03:00