Skip to content

Cross-cutting rules

Some rules don’t belong to any one entity — they apply uniformly across the system. Rather than repeating them on every entity page, they live here and the entity pages link out.

Each page below catalogues one cross-cutting concern in the same skeleton used elsewhere: what the rule is, when it fires, what the user sees, and where it’s implemented.

  • Unknown and optional fields — the Unknown checkbox: what it means, how it interacts with optional percentages, and how Unknown values appear in read-only views.
  • Notes and tags — polymorphic collections that attach to many entity types: where they attach, who can manage them, what’s preserved on edit.
  • Concurrent edits — what happens when two users edit the same record at the same time. RowVersion, the 412 response, and how the edit form recovers.
  • Permissions and roles — the Admin, User, and API.Access roles. What each role can do, and where in the UI role gating shows up.
  • Completeness score — the 0-100 score on every record: how it’s calculated, what feeds into it, when it’s recalculated.
  • Units and display — how the system picks which area unit, area basis (net vs gross), and rent format to render. Includes the fallback chain.
  • Currency — how amounts are stored, converted to the user’s preferred currency, and what the UI does when conversion data is missing.
  • Search matching — how typing in the search box turns into matches: synonyms (st ↔ street), number-word equivalence (3 ↔ three), wildcard expansion, and the operators (#tag, @note, field:value, +bool, -bool, "phrase").
Looking forTry first
”Why can’t I save this Scheme?”Schemes
”Why is my Investment Event refusing the yield I entered?”Investment Events
”What does the Unknown checkbox actually mean?”Unknown and optional fields
”Why did my save just fail with a concurrency error?”Concurrent edits
”What can a non-Admin user do?”Permissions and roles
”Why is the area on my detail page showing in sqft when I picked sqm?”Units and display
”Why does searching for ‘st’ also match ‘street’?”Search matching