Materialize references for all eligible targets

This commit is contained in:
2026-07-05 16:35:24 +00:00
parent 8c623b7ad8
commit 4cafde2502
8 changed files with 316 additions and 52 deletions

View File

@@ -31,14 +31,15 @@ must still be UTF-8 text. When a slot declares accepted media types, Notarius
compares the canonical base media type inferred from the file extension,
case-insensitively and without parameters.
The current resolver materializes reference content only for lane extractors
through `contracts.ExtractionRequest.References`. It is not source evidence and
must not be converted into `SourceRef` values. If a module prompt uses
references, load the prompt bundle with the same declared slots and render with
`RenderUserSystemWithReferences`. Prompt templates may use the `reference`
function for content and the `hasreference` function for conditional sections.
Prompt metadata hashes remain based on template source, not rendered reference
bytes.
The resolver materializes reference content for chunk, extractor, and
normalizer targets. Runtime delivery is currently implemented only for lane
extractors through `contracts.ExtractionRequest.References`. Reference material
is not source evidence and must not be converted into `SourceRef` values. If a
module prompt uses references, load the prompt bundle with the same declared
slots and render with `RenderUserSystemWithReferences`. Prompt templates may use
the `reference` function for content and the `hasreference` function for
conditional sections. Prompt metadata hashes remain based on template source,
not rendered reference bytes.
Chunk modules receive the structured LLM client through `contracts.ChunkRequest`
when they need model-backed chunking. The pipeline runner validates generic