Goal
Resolve placeholder and weakly connected public types before 1.0 so downstream users do not build against semantics that are later removed or radically changed.
EncodingMetadata is currently empty, while the general EncoderConfig defaults to 256 input/output channels but is not the authoritative configuration type for most encoders.
Scope
- Audit all uses and exports of
EncodingMetadata, EncodedOutput::embeddings, and EncoderConfig.
- Decide whether each type should be completed, narrowed, feature-gated, made private, deprecated, or removed before 1.0.
- Define which metadata is truly common across encoding algorithms.
- Avoid a catch-all metadata structure that accumulates framework-specific fields.
- Document configuration ownership: common configuration versus encoder-specific configuration.
- Add migration notes for any removals or replacements.
Design constraints
- Public types must have concrete, stable semantics.
- Domain-specific telemetry metadata belongs in downstream adapters, not core encoding.
- Do not force every encoder into one oversized configuration object.
- Preserve straightforward defaults where they represent real behavior.
Acceptance criteria
Relationships
🤖 Authored with ChatGPT: GPT-5.6 (Medium)
Goal
Resolve placeholder and weakly connected public types before 1.0 so downstream users do not build against semantics that are later removed or radically changed.
EncodingMetadatais currently empty, while the generalEncoderConfigdefaults to 256 input/output channels but is not the authoritative configuration type for most encoders.Scope
EncodingMetadata,EncodedOutput::embeddings, andEncoderConfig.Design constraints
Acceptance criteria
EncoderConfigownership and use are consistent across docs and examples.Relationships
EncodedOutput's role.1.0.0API freeze.🤖 Authored with ChatGPT: GPT-5.6 (Medium)