mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-11 13:17:07 +00:00
Renames the shared-services loader role from sys-utils-service-loader to sys-service-loader (shorter, no orphaned "utils" prefix; entity name in meta/services.yml realigns to service-loader per get_entity_name). Introduces an explicit two-phase contract in the loader: after the ordered preload pass, flush a `_service_loader_post_run` queue that service roles register into during preload via the new helper `list_or_shoot.yml` (list during preload, shoot directly outside it). Replaces the `when: not _service_loader_preloading` guards in sys-svc-compose and sys-svc-webserver-core with helper calls. Closes the gap where non-web deploys would never load these post-load dependencies; in normal web deploys behavior stays the same thanks to each sub-role's `run_once_<role>` gate. Docs, comments, test docstring, and constructor-stage invocation follow the rename. Historical changelogs (CHANGELOG.md, packaging/*) intentionally left at the original name. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Services 🧱
This directory contains contributor guidance for Infinito.Nexus shared services. Its scope is the model that defines how shared services are declared, discovered, loaded, injected, and consumed, plus the per-service contracts that role authors and consumers MUST follow.
Pages 📚
| Page | Purpose |
|---|---|
| layout.md | Per-role meta/<topic>.yml shape, file-root convention, services-inlining rule, meta/schema.yml (incl. the default: field), per-role networks: and per-entity ports shape, run_after/lifecycle placement. |
| base.md | Service registration, discovery, load order, injection model, lookup plugins. |
| email.md | email lookup plugin contract. |