← ClaudeAtlas

platform-versioninglisted

ClassVersion resolution and Versionierungs-Modell for Designer-generated code — the generated `classVersion()` override in the `<Domain>Context` base class wires `LoadClassFromSubDirectory` (injects `v{N}` before the last namespace segment, per class; baseline = the generated class itself), optional `ClassVersionConfig` fallback chains, per-call `$version` argument (no domain-wide default), five Leitsätze (additiv vor Version, Version ändert Verhalten nie API, Datenbruch = neues Aggregat, Code-Rettung über Service-Schicht, one API surface per aggregate).
jardisTools/dev-skills · ★ 0 · API & Backend · score 76
Install: claude install-skill jardisTools/dev-skills
### 1. ClassVersion resolution — Platform-free, per-class `v{N}` The aggregate tree is hermetic and **Platform-free** (no `Platform/` segment in path or namespace). Resolution does not walk a `['', 'Platform']` two-segment chain — the **Generator emits a `classVersion()` override** in the generated `<Domain>Context.php` base class that wires the reader `LoadClassFromSubDirectory`. Emitted code + wiring: [[beschreibt-bauweise-von::builder-generat-bauweise]] §4.1. **No domain-wide version default:** the Domain facade (`<Domain>.php`) is `final` and JardisCore-free (holds only a `DomainKernelInterface` Koffer) — it offers no override surface, and `<Domain>Context` (which hosts `classVersion()`/`classVersionConfig()`, `platform-implementation` §1) is hermetic (never hand-edited). A domain-wide default `version()` hook does not exist — the only lever is the per-call `$version` argument threaded through every facade method (see below). > **Proxy first, but a no-op here.** The wired `ClassVersion` consults the proxy cache before the > SubDirectory reader (order + internals: [[beschreibt-bauweise-von::builder-generat-bauweise]] > §4.2) — a generated Domain has no proxy config, so in practice the SubDirectory resolution below > is what runs. **How `LoadClassFromSubDirectory` resolves** `$this->context(<Class>::class, $dto, $version)` / `$this->handle(<Class>::class)` — full step-by-step: [[beschreibt-bauweise-von::builder-generat-bauweise]] §4.2. What matters for placing your over