Migrate production modules to raw outputs
This commit is contained in:
@@ -15,9 +15,9 @@ This document is the durable raw output contract for the implemented
|
||||
|
||||
The extractor requires source chunks and transcript source capability. It
|
||||
returns the structured LLM response as raw JSON. The default `appendorder`
|
||||
merger passes a single chunk output through and wraps multiple chunk outputs in
|
||||
an ordered `outputs` array. The default `noop` normalizer passes the merge
|
||||
output through unchanged.
|
||||
merger passes a single chunk output through and concatenates multiple
|
||||
`spell_casts` arrays in chunk order. The default `noop` normalizer passes the
|
||||
merge output through unchanged.
|
||||
|
||||
## Output Shape
|
||||
|
||||
@@ -45,18 +45,24 @@ For a single chunk, `outputs/spells.json` has this shape:
|
||||
|
||||
`spell_casts` must be present. It may be empty when no spell casts are found.
|
||||
|
||||
For multiple chunks with the default merger, the lane output has this shape:
|
||||
For multiple chunks with the default merger, the lane output keeps the same
|
||||
top-level shape and concatenates `spell_casts` in chunk order:
|
||||
|
||||
```json
|
||||
{
|
||||
"outputs": [
|
||||
"spell_casts": [
|
||||
{
|
||||
"chunk_id": "chunk-000001",
|
||||
"chunk_index": 0,
|
||||
"media_type": "application/json",
|
||||
"content": {
|
||||
"spell_casts": []
|
||||
}
|
||||
"caster": "Aria",
|
||||
"spell": "Cure Wounds",
|
||||
"effect": "heals an injured ally",
|
||||
"narrative_description": "Aria raises her holy symbol and casts Cure Wounds.",
|
||||
"source_refs": [
|
||||
{
|
||||
"source_id": "session-alpha",
|
||||
"start_unit_id": 1,
|
||||
"end_unit_id": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -191,8 +191,11 @@ only; spell-cast artifacts must still be grounded in the source transcript.
|
||||
Package: `internal/modules/merge/appendorder`
|
||||
|
||||
The `appendorder` merger preserves chunk order for raw extract outputs. A
|
||||
single extract output is passed through as the merge output. Multiple extract
|
||||
outputs are wrapped in one JSON payload under `outputs`.
|
||||
single JSON extract output is passed through as the merge output. Multiple JSON
|
||||
object outputs with one common top-level array field are merged by concatenating
|
||||
that array field in chunk order. Other valid JSON shapes are merged as a JSON
|
||||
array of decoded values in chunk order. Non-JSON media types and invalid JSON
|
||||
are rejected.
|
||||
|
||||
Provides:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user