5.6 KiB
Documentation Roadmap
Status
This document captures planned documentation decisions for Notarius. It records policy choices while the application architecture is still being shaped. It does not describe implemented behavior.
Documentation Goals
Notarius documentation should make three boundaries obvious:
- source-format support belongs to input-stage modules;
- extraction-domain behavior belongs to extract-stage modules;
- core framework behavior is source-agnostic and domain-agnostic.
Documentation should avoid making the MVP look more transcript-specific or D&D-specific than the architecture intends.
Current Policy Decisions
Planned Work Stays In Roadmap Docs
Until code exists, planned behavior belongs under docs/roadmap/.
Implemented behavior should later move into canonical docs. Roadmap files may then link to those docs or be reduced to remaining future work.
Core Docs Should Use Generic Terms
Core architecture docs should prefer:
- source document;
- source unit;
- source reference;
- input adapter;
- extractor;
- chunker;
- merger;
- normalizer;
- output encoder;
- artifact;
- validator;
- run manifest.
Core docs should avoid transcript-specific terms such as segment, speaker, timestamp, and transcript range unless discussing an input adapter or an example.
Core docs should avoid D&D-specific terms such as spell, NPC, item, combat, and encounter unless discussing extract modules, artifact docs, or examples.
Input Module Docs Own Source Formats
Each implemented input-stage module should have a canonical integration document.
Likely future files:
docs/integrations/seriatim-transcript.md
docs/integrations/markdown-source.md
Input module docs should cover:
- accepted external schema or file shape;
- mapping into
SourceDocumentandSourceUnit; - metadata preserved by the module;
- validation rules and failure behavior;
- examples.
The Seriatim input module doc should reference the Seriatim schema it supports and explain how transcript segment IDs become source-unit IDs.
Stage Module Docs Own Business Logic
Each implemented stage-module family should have canonical internal or integration docs.
Likely future files:
docs/internal/stage-modules.md
docs/integrations/artifacts-dnd.md
Stage module docs should cover:
- module key;
- stage;
- artifact type;
- schema version;
- required source-reference behavior;
- validator chain;
- prompt and response-schema ownership;
- examples.
D&D concepts should be documented in D&D extract-module or artifact docs, not in generic runner or framework docs.
CLI Docs Should Reflect Extensibility
The CLI reference should present input modules, chunk modules, extract modules, merge modules, normalize modules, and output modules as selectable or configurable components as they become user-facing.
Provisional command shape:
notarius extract ./source.json --input seriatim --extractors dnd.spells --output ./artifacts.json
Once implemented, docs/cli.md should document:
- positional source input path;
- input module selection;
- extract module selection;
- chunk/merge/normalize/output selection when configurable;
- config path behavior;
- output path behavior;
- diagnostics and report behavior;
- exit codes.
Config Docs Should Separate Framework And Plugin-Like Options
docs/config.md should group fields by responsibility:
- input module selection and module-specific options;
- chunk module selection and module-specific options;
- extract module selection and module-specific options;
- merge module selection and module-specific options;
- normalize module selection and module-specific options;
- output module selection and module-specific options;
- LLM runtime;
- validation runtime;
- diagnostics.
Module-specific config should not leak into unrelated core config sections.
Examples Should Stay Real
Examples should be added only when the matching behavior exists and should be covered by tests where practical.
Likely future examples:
examples/seriatim-minimal-transcript.json
examples/minimal-config.yml
examples/dnd-spells.artifacts.json
Examples should be secret-free and should use the same command shapes documented
in docs/cli.md.
Canonical Documentation Targets
When the first vertical slice is implemented, add or update:
README.md: concise purpose, shortest useful command, links.docs/cli.md: implemented command behavior.docs/config.md: implemented config behavior.docs/operations.md: diagnostics, retention, failure inspection.docs/troubleshooting.md: common failures.docs/internal/overview.md: implemented package map.docs/internal/pipeline.md: implemented extraction flow.docs/internal/stage-modules.md: stage contracts and implemented modules.docs/internal/input-modules.md: input adapter contract and implemented input modules.docs/internal/validators.md: validator contract and built-ins.docs/integrations/seriatim-transcript.md: Seriatim input contract.docs/integrations/artifacts.md: output artifact envelope.
Review Checklist For Future Documentation Changes
Before merging docs, check:
- Does the document describe implemented behavior outside
docs/roadmap/? - Are source-format details isolated to input module or integration docs?
- Are D&D details isolated to extract module or artifact docs?
- Is there one canonical home for the topic?
- Do command examples match implemented CLI syntax?
- Are examples valid, maintained, and free of secrets?
- Did any architecture, config, CLI, stage module, validator, or artifact contract change require a docs update?