Plan Seriatim input implementation
This commit is contained in:
@@ -23,8 +23,7 @@ In scope:
|
||||
- input adapter registry wiring;
|
||||
- module metadata/capabilities for pipeline validation;
|
||||
- fixtures and tests;
|
||||
- config path to use the input module through a named pipeline profile if
|
||||
config loading exists.
|
||||
- config compatibility through named pipeline profiles.
|
||||
|
||||
Out of scope:
|
||||
|
||||
@@ -33,13 +32,16 @@ Out of scope:
|
||||
- transcript-specific behavior in runner/core packages;
|
||||
- support for every possible Seriatim schema variant.
|
||||
|
||||
## Proposed Stages
|
||||
## Target End State
|
||||
|
||||
### Seriatim Source Model
|
||||
The repository should contain a real Seriatim input-stage module that translates
|
||||
Seriatim minimal transcript JSON into the generic source model.
|
||||
|
||||
Define module-local structs for the Seriatim minimal output schema.
|
||||
The Seriatim module should be registered under the stable input adapter key
|
||||
`seriatim`. It should be selectable through the existing input adapter registry
|
||||
and through pipeline-profile resolution when a profile binds `input: seriatim`.
|
||||
|
||||
Expected external shape:
|
||||
The module should accept the Seriatim minimal output shape:
|
||||
|
||||
- top-level `metadata`;
|
||||
- top-level `segments`;
|
||||
@@ -49,57 +51,36 @@ Expected external shape:
|
||||
- segment `speaker`;
|
||||
- segment `text`.
|
||||
|
||||
Keep these structs in the Seriatim input module package.
|
||||
|
||||
### Parse And Validate
|
||||
|
||||
Implement parser and validation behavior.
|
||||
|
||||
Validation should cover:
|
||||
|
||||
- valid JSON;
|
||||
- required metadata fields;
|
||||
- required segment fields;
|
||||
- unique segment IDs;
|
||||
- non-empty segment text;
|
||||
- valid start/end values as appropriate.
|
||||
|
||||
Prefer clear module-specific errors.
|
||||
|
||||
### Map To SourceDocument
|
||||
|
||||
Map Seriatim data into the generic source model:
|
||||
The module should map Seriatim data into generic source values:
|
||||
|
||||
- segment `id` becomes `SourceUnit.ID`;
|
||||
- segment `text` becomes `SourceUnit.Text`;
|
||||
- unit kind should identify transcript-like units without requiring core
|
||||
packages to know transcript semantics;
|
||||
- `speaker`, `start`, and `end` become unit metadata;
|
||||
- Seriatim metadata becomes document metadata.
|
||||
- the document and unit kind strings identify transcript-like source material
|
||||
without adding transcript-specific fields or types to core packages;
|
||||
- `speaker`, `start`, and `end` become source-unit metadata;
|
||||
- top-level Seriatim metadata becomes source-document metadata;
|
||||
- the resulting source document passes core source validation.
|
||||
|
||||
The resulting `SourceDocument` should pass core source validation.
|
||||
The module should reject invalid Seriatim input with clear module-specific
|
||||
errors. Validation should cover:
|
||||
|
||||
### Registry And CLI Wiring
|
||||
- valid JSON;
|
||||
- required top-level metadata and segments;
|
||||
- required segment fields;
|
||||
- unique segment IDs;
|
||||
- non-empty segment text;
|
||||
- valid start and end values.
|
||||
|
||||
Register the module under a stable input adapter key, likely `seriatim`.
|
||||
The module should declare flat capabilities for pipeline validation. Initial
|
||||
capabilities should describe transcript-oriented source properties preserved by
|
||||
the adapter, including speaker and timestamp metadata.
|
||||
|
||||
Declare module metadata for pipeline validation. Initial provided capabilities
|
||||
should include transcript-oriented metadata such as `speaker` and `timestamps`
|
||||
if those fields are preserved from Seriatim input.
|
||||
Implementation staging belongs in
|
||||
[`implementation.md`](implementation.md).
|
||||
|
||||
If config and CLI support exist, add a minimal pipeline-profile fixture or test
|
||||
config using the Seriatim input module:
|
||||
## Fixtures And Tests
|
||||
|
||||
```sh
|
||||
notarius run dnd-session --input ./transcript.json --only spells
|
||||
```
|
||||
|
||||
The command may still use fake extract, merge, normalize, and output modules
|
||||
until checkpoint 6.
|
||||
|
||||
### Fixtures And Tests
|
||||
|
||||
Add fixtures and tests for:
|
||||
The checkpoint should add synthetic fixtures and focused tests for:
|
||||
|
||||
- valid Seriatim minimal transcript;
|
||||
- malformed JSON;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user