Organize generic and Seriatim modules by domain

This commit is contained in:
2026-07-17 04:57:47 +00:00
parent 0327659355
commit a81b9f1e1f
36 changed files with 83 additions and 78 deletions

View File

@@ -1,8 +1,9 @@
# Module And Validator Internals # Module And Validator Internals
Production stage implementations live under `internal/modules`; production Production module implementations and generic validators live under
validators live under `internal/validators`. The selectable keys, configuration `internal/modules`; the current D&D validators live under `internal/validators`.
options, reference slots, and default validator chain are canonical in the The selectable keys, configuration options, reference slots, and default
validator chain are canonical in the
[module](../config.md#implemented-production-modules) and [module](../config.md#implemented-production-modules) and
[validator](../config.md#implemented-production-validators) catalogs in [validator](../config.md#implemented-production-validators) catalogs in
Configuration. Configuration.
@@ -36,7 +37,7 @@ evidence. The resolver and materializer behavior is described in
## Input Adapter ## Input Adapter
### `internal/modules/input/seriatim` ### `internal/modules/seriatim/input/transcript`
The adapter decodes the supported transcript JSON, selects the source identity, The adapter decodes the supported transcript JSON, selects the source identity,
computes the raw-input digest, validates segments, and maps each segment into a computes the raw-input digest, validates segments, and maps each segment into a
@@ -50,7 +51,7 @@ rules are defined in the
## Chunkers ## Chunkers
### `internal/modules/chunk/generic` ### `internal/modules/generic/chunk/units`
The generic chunker validates the source document, walks units in configured The generic chunker validates the source document, walks units in configured
windows, clones each selected unit, and emits deterministic ordered chunk IDs. windows, clones each selected unit, and emits deterministic ordered chunk IDs.
@@ -99,14 +100,14 @@ The durable payload and manifest metadata shapes are defined in the
## Merger And Normalizer ## Merger And Normalizer
### `internal/modules/merge/appendorder` ### `internal/modules/generic/merge/appendorder`
The merger preserves extract-result order. It passes through one JSON result, The merger preserves extract-result order. It passes through one JSON result,
concatenates a common top-level array field across multiple JSON objects, and concatenates a common top-level array field across multiple JSON objects, and
otherwise emits an array of the decoded values. It rejects invalid JSON and otherwise emits an array of the decoded values. It rejects invalid JSON and
non-JSON media types, and it preserves compatible schema provenance. non-JSON media types, and it preserves compatible schema provenance.
### `internal/modules/normalize/noop` ### `internal/modules/generic/normalize/noop`
The normalizer defensively clones the accepted merge result, including payload The normalizer defensively clones the accepted merge result, including payload
bytes, metadata, warnings, and schema provenance, without changing its logical bytes, metadata, warnings, and schema provenance, without changing its logical
@@ -114,7 +115,7 @@ content.
## Output Encoder ## Output Encoder
### `internal/modules/output/json` ### `internal/modules/generic/output/json`
The JSON encoder sorts normalized results by lane, derives collision-checked The JSON encoder sorts normalized results by lane, derives collision-checked
safe logical names, pretty-prints JSON payloads, and assembles the logical index, safe logical names, pretty-prints JSON payloads, and assembles the logical index,
@@ -127,6 +128,9 @@ paths and schemas.
## Generic Validators ## Generic Validators
The generic validator implementations live under
`internal/modules/generic/validate`.
The unconditional accept and reject validators provide deterministic production The unconditional accept and reject validators provide deterministic production
registrations used primarily for controlled composition and tests. registrations used primarily for controlled composition and tests.

View File

@@ -58,27 +58,28 @@ Configuration. The implemented module packages are:
| Package | Implemented responsibility | | Package | Implemented responsibility |
| --- | --- | | --- | --- |
| `internal/modules/input/seriatim` | Parses the supported Seriatim transcript format into the generic source model. | | `internal/modules/seriatim/input/transcript` | Parses the supported Seriatim transcript format into the generic source model. |
| `internal/modules/chunk/generic` | Splits ordered source units by unit count and overlap. | | `internal/modules/generic/chunk/units` | Splits ordered source units by unit count and overlap. |
| `internal/modules/chunk/dnd/scenes` | Produces contiguous D&D scene chunks from structured model output. | | `internal/modules/chunk/dnd/scenes` | Produces contiguous D&D scene chunks from structured model output. |
| `internal/modules/extract/dnd/spells` | Produces source-grounded D&D spell-cast raw output. | | `internal/modules/extract/dnd/spells` | Produces source-grounded D&D spell-cast raw output. |
| `internal/modules/merge/appendorder` | Combines accepted extraction results in chunk order. | | `internal/modules/generic/merge/appendorder` | Combines accepted extraction results in chunk order. |
| `internal/modules/normalize/noop` | Preserves accepted merged output. | | `internal/modules/generic/normalize/noop` | Preserves accepted merged output. |
| `internal/modules/output/json` | Encodes manifests, lane payloads, warnings, and rejections as logical JSON files. | | `internal/modules/generic/output/json` | Encodes manifests, lane payloads, warnings, and rejections as logical JSON files. |
`internal/modules/sharedassets` composes shared prompt filesystems. `internal/modules/sharedassets` composes shared prompt filesystems.
`internal/modules/sharedassets/dnd` owns reusable D&D prompt fragments, `internal/modules/sharedassets/dnd` owns reusable D&D prompt fragments,
reference declarations, prompt input assembly, and source-unit reference reference declarations, prompt input assembly, and source-unit reference
helpers. helpers.
Concrete validators live under `internal/validators`. Generic packages provide Generic validators under `internal/modules/generic/validate` provide
unconditional test decisions, JSON syntax validation, and JSON Schema unconditional test decisions, JSON syntax validation, and JSON Schema
validation. D&D spell packages provide shape, source-reference, and validation. D&D spell validators remain under `internal/validators` and provide
source-relatedness decisions, with `spellpayload` holding their shared parser shape, source-reference, and source-relatedness decisions, with `spellpayload`
and lookup helpers. holding their shared parser and lookup helpers.
Production composition is grouped behind package-family registrars while the Production composition is grouped behind package-family registrars. Generic
implementations remain in their current stage-oriented packages: and Seriatim implementations use their domain-first trees; D&D implementations
remain in their current stage-oriented packages:
| Package | Implemented responsibility | | Package | Implemented responsibility |
| --- | --- | | --- | --- |

View File

@@ -20,11 +20,11 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes" "gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes"
"gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells" "gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells"
validjson "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json_schema"
spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape" spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape"
spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs" spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs"
spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness" spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness"
validjson "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json_schema"
) )
func TestProductionCompatibilitySnapshot(t *testing.T) { func TestProductionCompatibilitySnapshot(t *testing.T) {

View File

@@ -23,19 +23,19 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes" "gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/generic"
"gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells" "gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells"
"gitea.maximumdirect.net/eric/notarius/internal/modules/input/seriatim" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/chunk/units"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/output/json" jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/output/json"
alwaysaccept "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/always_accept"
alwaysreject "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/always_reject"
validjson "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json_schema"
"gitea.maximumdirect.net/eric/notarius/internal/modules/seriatim/input/transcript"
spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape" spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape"
spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs" spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs"
spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness" spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness"
alwaysaccept "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/always_accept"
alwaysreject "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/always_reject"
validjson "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json_schema"
"gitea.maximumdirect.net/eric/scriptorium" "gitea.maximumdirect.net/eric/scriptorium"
) )
@@ -143,13 +143,13 @@ func TestProductionCatalogIncludesProductionModulesValidatorsAndDefaults(t *test
}{ }{
{ {
name: "seriatim input", name: "seriatim input",
got: func() (pipeline.ModuleSpec, bool) { return catalog.Inputs.Spec(seriatim.Key) }, got: func() (pipeline.ModuleSpec, bool) { return catalog.Inputs.Spec(transcript.Key) },
want: seriatim.ModuleSpec(), want: transcript.ModuleSpec(),
}, },
{ {
name: "generic chunker", name: "generic chunker",
got: func() (pipeline.ModuleSpec, bool) { return catalog.Chunkers.Spec(generic.Key) }, got: func() (pipeline.ModuleSpec, bool) { return catalog.Chunkers.Spec(units.Key) },
want: generic.ModuleSpec(), want: units.ModuleSpec(),
}, },
{ {
name: "dnd scenes chunker", name: "dnd scenes chunker",
@@ -222,7 +222,7 @@ func TestProductionCatalogIncludesProductionModulesValidatorsAndDefaults(t *test
if !reflect.DeepEqual(gotChain, wantChain) { if !reflect.DeepEqual(gotChain, wantChain) {
t.Fatalf("dnd spell default validator chain = %#v, want %#v", gotChain, wantChain) t.Fatalf("dnd spell default validator chain = %#v, want %#v", gotChain, wantChain)
} }
if got := catalog.ValidatorChains.Validators(pipeline.StageChunk, generic.Key); len(got) != 0 { if got := catalog.ValidatorChains.Validators(pipeline.StageChunk, units.Key); len(got) != 0 {
t.Fatalf("generic chunker default validator chain = %#v, want empty", got) t.Fatalf("generic chunker default validator chain = %#v, want empty", got)
} }
} }

View File

@@ -8,10 +8,10 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/core/source" "gitea.maximumdirect.net/eric/notarius/internal/core/source"
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/generic" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/chunk/units"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/output/json" jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/output/json"
) )
func TestPipelineConfigResolvesWithProductionDefaultsRegistered(t *testing.T) { func TestPipelineConfigResolvesWithProductionDefaultsRegistered(t *testing.T) {
@@ -34,8 +34,8 @@ func TestPipelineConfigResolvesWithProductionDefaultsRegistered(t *testing.T) {
} }
pipeline := resolved.ResolvedPipeline pipeline := resolved.ResolvedPipeline
if pipeline.Chunk.Module != generic.Key { if pipeline.Chunk.Module != units.Key {
t.Fatalf("Chunk.Module = %q, want %q", pipeline.Chunk.Module, generic.Key) t.Fatalf("Chunk.Module = %q, want %q", pipeline.Chunk.Module, units.Key)
} }
if pipeline.Output.Module != jsonoutput.Key { if pipeline.Output.Module != jsonoutput.Key {
t.Fatalf("Output.Module = %q, want %q", pipeline.Output.Module, jsonoutput.Key) t.Fatalf("Output.Module = %q, want %q", pipeline.Output.Module, jsonoutput.Key)
@@ -68,7 +68,7 @@ func defaultModuleCatalog(t *testing.T) pipeline.ModuleCatalog {
}); err != nil { }); err != nil {
t.Fatalf("register input: %v", err) t.Fatalf("register input: %v", err)
} }
if err := generic.Register(chunkers); err != nil { if err := units.Register(chunkers); err != nil {
t.Fatalf("register generic chunker: %v", err) t.Fatalf("register generic chunker: %v", err)
} }
if err := extractors.RegisterWithSpec(pipeline.ModuleSpec{ if err := extractors.RegisterWithSpec(pipeline.ModuleSpec{

View File

@@ -8,11 +8,11 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes" "gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/dnd/scenes"
"gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells" "gitea.maximumdirect.net/eric/notarius/internal/modules/extract/dnd/spells"
validjson "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json_schema"
spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape" spellshape "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/shape"
spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs" spellsourcerefs "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_refs"
spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness" spellrelatedness "gitea.maximumdirect.net/eric/notarius/internal/validators/extract/dnd/spells/source_relatedness"
validjson "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json_schema"
) )
// Register adds all production D&D modules, validators, policy, and assets. // Register adds all production D&D modules, validators, policy, and assets.

View File

@@ -10,9 +10,9 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/core/source" "gitea.maximumdirect.net/eric/notarius/internal/core/source"
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/input/seriatim" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/seriatim/input/transcript"
) )
func TestPipelineConfigLoadsAndResolvesWithDNDSpellsExtractor(t *testing.T) { func TestPipelineConfigLoadsAndResolvesWithDNDSpellsExtractor(t *testing.T) {
@@ -65,7 +65,7 @@ func TestPipelineConfigLoadsAndResolvesWithDNDSpellsExtractor(t *testing.T) {
} }
func TestPipelineConfigRejectsMissingTranscriptCapabilityForDNDSpells(t *testing.T) { func TestPipelineConfigRejectsMissingTranscriptCapabilityForDNDSpells(t *testing.T) {
inputSpec := seriatim.ModuleSpec() inputSpec := transcript.ModuleSpec()
inputSpec.Provides = withoutCapability(inputSpec.Provides, "source.transcript") inputSpec.Provides = withoutCapability(inputSpec.Provides, "source.transcript")
chunkSpec := dndSpellsChunkerSpec() chunkSpec := dndSpellsChunkerSpec()
chunkSpec.Requires = nil chunkSpec.Requires = nil
@@ -156,11 +156,11 @@ func dndSpellsTestCatalog(t *testing.T, specs dndSpellsCatalogSpecs) pipeline.Mo
outputs := pipeline.NewOutputEncoderRegistry() outputs := pipeline.NewOutputEncoderRegistry()
if specs.input.Key == "" { if specs.input.Key == "" {
if err := seriatim.Register(inputs); err != nil { if err := transcript.Register(inputs); err != nil {
t.Fatalf("register seriatim input: %v", err) t.Fatalf("register seriatim input: %v", err)
} }
} else if err := inputs.RegisterWithSpec(specs.input, func() (contracts.InputAdapter, error) { } else if err := inputs.RegisterWithSpec(specs.input, func() (contracts.InputAdapter, error) {
return seriatim.New(), nil return transcript.New(), nil
}); err != nil { }); err != nil {
t.Fatalf("register seriatim input override: %v", err) t.Fatalf("register seriatim input override: %v", err)
} }

View File

@@ -11,7 +11,7 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/core/source" "gitea.maximumdirect.net/eric/notarius/internal/core/source"
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/input/seriatim" "gitea.maximumdirect.net/eric/notarius/internal/modules/seriatim/input/transcript"
) )
func TestRunnerProcessesSeriatimInputWithDNDSpellsExtractor(t *testing.T) { func TestRunnerProcessesSeriatimInputWithDNDSpellsExtractor(t *testing.T) {
@@ -75,8 +75,8 @@ func TestRunnerProcessesSeriatimInputWithDNDSpellsExtractor(t *testing.T) {
} }
} }
if output.Manifest.InputModule != seriatim.Key { if output.Manifest.InputModule != transcript.Key {
t.Fatalf("manifest input module = %q, want %q", output.Manifest.InputModule, seriatim.Key) t.Fatalf("manifest input module = %q, want %q", output.Manifest.InputModule, transcript.Key)
} }
if output.Manifest.ValidationStatus != "approved" { if output.Manifest.ValidationStatus != "approved" {
t.Fatalf("ValidationStatus = %q, want approved", output.Manifest.ValidationStatus) t.Fatalf("ValidationStatus = %q, want approved", output.Manifest.ValidationStatus)
@@ -343,7 +343,7 @@ func readDNDSpellsFixture(t *testing.T) []byte {
func parseDNDSpellsFixture(t *testing.T, raw []byte) *source.SourceDocument { func parseDNDSpellsFixture(t *testing.T, raw []byte) *source.SourceDocument {
t.Helper() t.Helper()
doc, err := seriatim.New().Parse(context.Background(), contracts.ParseRequest{Raw: raw}) doc, err := transcript.New().Parse(context.Background(), contracts.ParseRequest{Raw: raw})
if err != nil { if err != nil {
t.Fatalf("Parse() error = %v, want nil", err) t.Fatalf("Parse() error = %v, want nil", err)
} }

View File

@@ -1,4 +1,4 @@
package generic package units
import ( import (
"context" "context"

View File

@@ -1,4 +1,4 @@
package generic package units
import ( import (
"context" "context"

View File

@@ -6,14 +6,14 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/llm" "gitea.maximumdirect.net/eric/notarius/internal/framework/llm"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/chunk/generic" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/chunk/units"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/output/json" jsonoutput "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/output/json"
alwaysaccept "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/always_accept" alwaysaccept "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/always_accept"
alwaysreject "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/always_reject" alwaysreject "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/always_reject"
validjson "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json" validjson "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json"
validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/validators/generic/valid_json_schema" validjsonschema "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/validate/valid_json_schema"
) )
// Register adds all production domain-neutral modules and validators. // Register adds all production domain-neutral modules and validators.
@@ -26,7 +26,7 @@ func Register(registries pipeline.Registries, assets *llm.AssetRegistry) error {
name string name string
register func() error register func() error
}{ }{
{name: "generic chunker", register: func() error { return generic.Register(registries.Chunkers) }}, {name: "generic chunker", register: func() error { return units.Register(registries.Chunkers) }},
{name: "appendorder merger", register: func() error { return appendorder.Register(registries.Mergers) }}, {name: "appendorder merger", register: func() error { return appendorder.Register(registries.Mergers) }},
{name: "noop normalizer", register: func() error { return noop.Register(registries.Normalizers) }}, {name: "noop normalizer", register: func() error { return noop.Register(registries.Normalizers) }},
{name: "always accept validator", register: func() error { return alwaysaccept.Register(registries.Validators) }}, {name: "always accept validator", register: func() error { return alwaysaccept.Register(registries.Validators) }},

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"context" "context"

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"context" "context"

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"context" "context"
@@ -10,8 +10,8 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/core/config" "gitea.maximumdirect.net/eric/notarius/internal/core/config"
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
) )
func TestPipelineConfigLoadsAndResolvesWithSeriatimInput(t *testing.T) { func TestPipelineConfigLoadsAndResolvesWithSeriatimInput(t *testing.T) {

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"encoding/json" "encoding/json"

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"bytes" "bytes"

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"encoding/json" "encoding/json"

View File

@@ -1,4 +1,4 @@
package seriatim package transcript
import ( import (
"context" "context"
@@ -11,8 +11,8 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/core/source" "gitea.maximumdirect.net/eric/notarius/internal/core/source"
"gitea.maximumdirect.net/eric/notarius/internal/framework/contracts" "gitea.maximumdirect.net/eric/notarius/internal/framework/contracts"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/merge/appendorder" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/merge/appendorder"
"gitea.maximumdirect.net/eric/notarius/internal/modules/normalize/noop" "gitea.maximumdirect.net/eric/notarius/internal/modules/generic/normalize/noop"
) )
func TestRunnerProcessesSeriatimInputWithFakeModules(t *testing.T) { func TestRunnerProcessesSeriatimInputWithFakeModules(t *testing.T) {

View File

@@ -6,7 +6,7 @@ import (
"gitea.maximumdirect.net/eric/notarius/internal/framework/llm" "gitea.maximumdirect.net/eric/notarius/internal/framework/llm"
"gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline" "gitea.maximumdirect.net/eric/notarius/internal/framework/pipeline"
"gitea.maximumdirect.net/eric/notarius/internal/modules/input/seriatim" "gitea.maximumdirect.net/eric/notarius/internal/modules/seriatim/input/transcript"
) )
// Register adds all production Seriatim modules. // Register adds all production Seriatim modules.
@@ -15,7 +15,7 @@ func Register(registries pipeline.Registries, assets *llm.AssetRegistry) error {
if registries.Inputs == nil { if registries.Inputs == nil {
return fmt.Errorf("seriatim registrar: input registry must not be nil") return fmt.Errorf("seriatim registrar: input registry must not be nil")
} }
if err := seriatim.Register(registries.Inputs); err != nil { if err := transcript.Register(registries.Inputs); err != nil {
return fmt.Errorf("register transcript input: %w", err) return fmt.Errorf("register transcript input: %w", err)
} }
return nil return nil