Tags: ynishi/vdsl
Tags
release: v0.4.0 — Anchor entity
Anchor entity (vdsl.anchor) — identity-bearing layer that pins a Subject +
Variation set into a named, versioned registry. AnchorRegistry maintains
an append-only versions[] chain; Registry:train(spec) appends a new vN
snapshot without mutating prior entries; Registry:revert(tag) moves only
the current pointer.
Highlights:
- vdsl.anchor.from(t) — deserialize a plain table (e.g. loaded from JSON)
back into a full AnchorRegistry with all SubjectSpec, AssetSpec,
variations, and training_record fields intact.
- Anchor:render(name?) — produce a vdsl.Subject by applying variation
overlays through Subject:with.
- vdsl.emit("anchor", reg) — serialize an AnchorRegistry to a canonical
JSON file via the existing emit backend. JSON roundtrip fidelity:
from(decode(emit(reg))) produces a deep-equal Registry.
- Cast{anchor=A} adapter — pass an AnchorRegistry directly to vdsl.cast;
subject / lora / ipadapter are auto-resolved from the registry's
current anchor. Explicitly-provided fields take precedence (override
semantics).
Files added:
- lua/vdsl/anchor.lua — AnchorRegistry / Anchor entities + to_table /
from_table serialization helpers.
- tests/test_anchor.lua — 27 cases covering construction, train / revert
invariants, render, JSON roundtrip, Cast adapter, backward-compat.
- examples/14_anchor.lua — domain-neutral 3-variation showcase render.
- docs/anchor-design.md — design spec.
- vdsl-0.4.0-1.rockspec — version bump.
- examples/13_gemma_vllm.lua — Gemma 4 vLLM reference profile.
Other:
- Profile DSL: services[].kind="llamacpp" normalizer (additional service
type support).
- emit: SaveImage.filename_prefix is patched to the emit name so the
saved PNG matches the recipe name on disk.
- docs/state-boundaries.md — two-layer model (ProjectDir/.vdsl + Global
Hub) explicit; vdsl body location + project-local version pinning
clarified.
- docs/profile-and-orchestration.md — internal path references replaced
with generic placeholders (factory pattern documentation hardened).
- examples/12_vllm_profile.lua — internal reference comment removed.