chore(ontology): move ontology loaded via load_embedded() into Arc<Ontology>
The following discussion from !398 should be addressed:
- [ ] @project_79877515_bot_6e9333693f527ce6dbe629d7ed35c58f started a [discussion](https://gitlab.com/gitlab-org/orbit/knowledge-graph/-/merge_requests/398#note_3124624400): (+3 comments)
> **Suggestion:** Redundant `load_embedded()` at startup.
>
> `validate_ontology_constants()` calls `Ontology::load_embedded()` to parse the full ontology YAML, but downstream code (gRPC service, tool registry, etc.) each call `load_embedded()` again independently. This means the ontology is parsed at least twice during startup — once here for validation, and once (or more) when the actual services initialize.
>
> The cost is small (startup-only, ~24 YAML files), so this isn't a regression. But if you're planning to wire `default_columns` into the query pipeline in a follow-up, consider hoisting the `load_embedded()` result into a shared `Arc<Ontology>` early in `main()` and passing it down, rather than having each subsystem re-parse independently. That would also let you drop this standalone validation call since the shared instance would already be validated.
>
> No action needed in this MR — just flagging for the follow-up.
issue