Introduce typed D&D spell artifacts
This commit is contained in:
@@ -17,15 +17,14 @@ validator registry. Package-family registrars compose those leaf registrations
|
||||
into the production catalog and own family-level policy such as default
|
||||
validator chains and prompt asset collection.
|
||||
|
||||
Production input, chunk, and output packages register strict option decoders and
|
||||
run-local builders. Preparation decodes their options into implementation-owned
|
||||
values and injects dependencies; their operation requests contain run context,
|
||||
not raw option maps or LLM clients. Production extract, merge, normalize, and
|
||||
validator packages still use the explicit legacy raw registration APIs and
|
||||
temporary adapters around zero-argument constructors. Their raw option maps and
|
||||
LLM clients remain operation inputs while that part of the catalog migrates.
|
||||
Typed registration is framework-ready, but no production artifact kind or
|
||||
codec is registered yet.
|
||||
Production input, chunk, output, and D&D spell-extract packages register strict
|
||||
option decoders and run-local builders. Preparation decodes their options into
|
||||
implementation-owned values and injects dependencies. The spell extractor is
|
||||
typed over the canonical D&D model; a temporary raw adapter preserves the
|
||||
current downstream production path. Production merge, normalize, and validator
|
||||
packages still use the explicit legacy raw registration APIs and temporary
|
||||
adapters around zero-argument constructors. Their raw option maps and LLM
|
||||
clients remain operation inputs while that part of the catalog migrates.
|
||||
|
||||
Specs expose capability and execution metadata without constructing an
|
||||
implementation. Registry entries separately expose option validation and
|
||||
@@ -106,12 +105,16 @@ The spell extractor prepares a structured request from one chunk, the
|
||||
chunk-scoped source input, the session, and optional D&D reference inputs. It
|
||||
decodes the model response, assigns the generic source identity to every source
|
||||
reference, canonicalizes duplicate references, orders spell casts by their
|
||||
earliest cited unit, and returns raw JSON plus response-schema provenance.
|
||||
earliest cited unit, and returns `dnd.SpellList`.
|
||||
|
||||
The package owns its embedded prompt, response schemas, and prompt/schema
|
||||
manifest metadata. Shared D&D helpers keep prompt input names and source-unit
|
||||
reference conversion consistent with the scene chunker. The extractor produces
|
||||
raw output; production validators own approval policy.
|
||||
The extractor owns its private model-response DTO, embedded prompt, LLM response
|
||||
schema, strict option decoder, injected shared LLM client, and prompt/schema
|
||||
manifest metadata. The separate `internal/modules/dnd/codec/spells` package
|
||||
owns the durable schema and stable JSON representation for artifact kind
|
||||
`dnd/spell-list`. Production composition currently wraps the typed extractor
|
||||
with a raw adapter that encodes through this codec, so existing validators and
|
||||
later stages remain unchanged. Shared D&D helpers keep prompt input names and
|
||||
source-unit reference conversion consistent with the scene chunker.
|
||||
|
||||
The durable payload and manifest metadata shapes are defined in the
|
||||
[D&D spell artifact contract](../integrations/dnd-spell-artifacts.md).
|
||||
|
||||
Reference in New Issue
Block a user