106 lines
5.9 KiB
Markdown
106 lines
5.9 KiB
Markdown
# Internal Overview
|
|
|
|
This document inventories the implemented Notarius components. Normative
|
|
boundaries and dependency direction belong in
|
|
[Architecture](../policy/architecture.md); external behavior belongs in the
|
|
[CLI](../cli.md), [Configuration](../config.md),
|
|
[Operations](../operations.md), and [integration contracts](../integrations/).
|
|
|
|
## Execution Path
|
|
|
|
`cmd/notarius` delegates to `internal/cli`, the production composition root.
|
|
The CLI loads configuration, builds the production catalogs and runtime
|
|
collaborators, invokes `internal/framework/pipeline`, and places the logical
|
|
output files returned by the runner. Diagnostics, checkpoints, and debug
|
|
recorders are optional side-channel collaborators supplied at this boundary.
|
|
|
|
Pipeline execution is serial. Resolution produces a fixed ordered workflow and
|
|
a sorted set of artifact lanes before the runner constructs any stage module.
|
|
|
|
## Application Boundary
|
|
|
|
| Package | Implemented responsibility |
|
|
| --- | --- |
|
|
| `cmd/notarius` | Executable entry point and process exit delegation. |
|
|
| `internal/cli` | Command parsing, config discovery, production registration, prompt asset collection, LLM client construction, reference materialization, workspace collaborator setup, durable writes, and user-facing results. |
|
|
|
|
## Core Packages
|
|
|
|
| Package | Implemented responsibility |
|
|
| --- | --- |
|
|
| `internal/core/artifacts` | Run-manifest and provenance models. |
|
|
| `internal/core/config` | Defaults, YAML parsing, environment overrides, validation, redaction, and effective pipeline resolution. |
|
|
| `internal/core/diagnostics` | Scoped run directories, diagnostics writers, atomic writes, and retention decisions. |
|
|
| `internal/core/source` | Generic source documents, units, references, lookup, and validation. |
|
|
| `internal/core/workspace` | Effective workspace settings, confined paths and writes, checkpoint identity, and checkpoint manifest models. |
|
|
|
|
## Framework Packages
|
|
|
|
| Package | Implemented responsibility |
|
|
| --- | --- |
|
|
| `internal/framework/contracts` | Stage, validator, reference, output, and structured-completion interfaces and data types. |
|
|
| `internal/framework/pipeline` | Registries, profile resolution, capability checks, reference materialization, validator-chain resolution, retries, orchestration, warnings, and manifest population. |
|
|
| `internal/framework/validate` | Shared validator decision and cardinality helpers. |
|
|
| `internal/framework/llm` | Scriptorium-backed structured completions, prompt/schema registration, scheduling, profile recording, and secret redaction. |
|
|
| `internal/framework/checkpoint` | Workspace-backed checkpoint loading, recording, and payload serialization. |
|
|
| `internal/framework/debug` | Workspace-backed framework and LLM debug recording. |
|
|
|
|
Framework contracts carry raw stage results between implementations. The
|
|
runner owns handoff provenance, validation sequencing, rejection handling,
|
|
checkpoint and debug boundaries, and final manifest assembly.
|
|
|
|
## Production Extensions
|
|
|
|
The canonical catalogs of user-selectable
|
|
[module](../config.md#implemented-production-modules) and
|
|
[validator](../config.md#implemented-production-validators) keys are in
|
|
Configuration. The implemented module packages are:
|
|
|
|
| Package | Implemented responsibility |
|
|
| --- | --- |
|
|
| `internal/modules/input/seriatim` | 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/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/merge/appendorder` | Combines accepted extraction results in chunk order. |
|
|
| `internal/modules/normalize/noop` | Preserves accepted merged output. |
|
|
| `internal/modules/output/json` | Encodes manifests, lane payloads, warnings, and rejections as logical JSON files. |
|
|
|
|
`internal/modules/sharedassets` composes shared prompt filesystems.
|
|
`internal/modules/sharedassets/dnd` owns reusable D&D prompt fragments,
|
|
reference declarations, prompt input assembly, and source-unit reference
|
|
helpers.
|
|
|
|
Concrete validators live under `internal/validators`. Generic packages provide
|
|
unconditional test decisions, JSON syntax validation, and JSON Schema
|
|
validation. D&D spell packages provide shape, source-reference, and
|
|
source-relatedness decisions, with `spellpayload` holding their shared parser
|
|
and lookup helpers. Production chain composition is owned by `internal/cli`.
|
|
|
|
Implementation details for all production extensions are in
|
|
[Module Internals](modules.md).
|
|
|
|
## Run-State Components
|
|
|
|
| Surface | Implemented owners | Internal purpose |
|
|
| --- | --- | --- |
|
|
| Durable output | Output module, pipeline runner, and CLI writer | Return logical consumer files and place them for a run. |
|
|
| Diagnostics | `internal/core/diagnostics` and `internal/cli` | Record redacted invocation, resolution, result, and failure inspection data. |
|
|
| Checkpoints | `internal/framework/checkpoint` and `internal/core/workspace` | Validate and serialize reusable stage outcomes. |
|
|
| Debug artifacts | `internal/framework/debug` and pipeline instrumentation | Capture sensitive framework-boundary and LLM-call material. |
|
|
|
|
Physical layout, retention, recovery, and sensitive-data handling are defined
|
|
in [Operations](../operations.md). Concrete stage modules receive recorder
|
|
interfaces and request data, not workspace paths.
|
|
|
|
## Focused Documentation
|
|
|
|
- [Pipeline Internals](pipeline.md): resolution, execution, validation, retries,
|
|
checkpoint/debug hooks, and result assembly.
|
|
- [Module Internals](modules.md): production modules, validators, assets,
|
|
registration, and the contributor recipe for adding an extension.
|
|
- [LLM Runtime](llm.md): structured completion contracts, Scriptorium adapter,
|
|
assets, scheduling, profile recording, and redaction.
|
|
- [Diagnostics Internals](diagnostics.md): scoped writers, retention
|
|
coordination, CLI failure flow, and path safety.
|