70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# Checkpoint 2: Framework Composition
|
|
|
|
## Status
|
|
|
|
This document describes planned work, not implemented behavior.
|
|
|
|
## Goal
|
|
|
|
Prove the core contracts compose before adding real adapters, real extractors,
|
|
or portable Audita infrastructure.
|
|
|
|
This checkpoint should produce a minimal runner that can execute fake registered
|
|
components from source input to artifact output in tests.
|
|
|
|
## Scope
|
|
|
|
In scope:
|
|
|
|
- input adapter registry;
|
|
- extractor registry;
|
|
- validator decision model;
|
|
- decision-cardinality checks;
|
|
- minimal runner;
|
|
- fake-component runner tests.
|
|
|
|
Out of scope:
|
|
|
|
- real input parsing;
|
|
- real LLM calls;
|
|
- prompt assets;
|
|
- response schema assets;
|
|
- diagnostics run directory;
|
|
- real D&D artifact schemas.
|
|
|
|
## Target End State
|
|
|
|
The repository should contain a minimal framework composition layer:
|
|
|
|
- `internal/framework/inputregistry` registers and builds input adapter
|
|
constructors by stable key.
|
|
- `internal/framework/extractorregistry` registers and builds extractor
|
|
constructors by stable key.
|
|
- `internal/framework/validators` provides shared validator decision helpers and
|
|
cardinality checks.
|
|
- `internal/framework/runner` executes configured extractors against a
|
|
`SourceDocument`, applies validator chains, and returns approved and rejected
|
|
artifacts.
|
|
|
|
The runner should operate on already parsed source documents in this checkpoint.
|
|
Raw input parsing and concrete input adapter behavior remain deferred to the
|
|
Seriatim adapter checkpoint.
|
|
|
|
Implementation staging belongs in
|
|
[`implementation.md`](implementation.md).
|
|
|
|
## Done Criteria
|
|
|
|
- `go test ./...` passes.
|
|
- Fake adapter/extractor/validator registrations work in tests.
|
|
- The runner operates on `SourceDocument`, not transcript-specific structures.
|
|
- The runner does not import concrete D&D extractor packages.
|
|
|
|
## Review Questions
|
|
|
|
- Does the runner know only about sources, extractors, validators, and artifacts?
|
|
- Are registries simple enough to evolve?
|
|
- Are validation decisions expressive enough for deterministic and LLM-backed
|
|
validators?
|
|
- Is any domain-specific behavior creeping into framework packages?
|