Skip to content

refactor(api): clarify EncodedOutput metadata and EncoderConfig ownership #65

Description

@rmems

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

  • Every exported field/type has a documented purpose and consumer.
  • Empty placeholder public types are removed or given concrete semantics.
  • EncoderConfig ownership and use are consistent across docs and examples.
  • Metadata remains framework- and domain-agnostic.
  • Deprecations include a migration path.
  • Public API tests lock the chosen surface.

Relationships


🤖 Authored with ChatGPT: GPT-5.6 (Medium)

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestneuromorphicreadysize:MThis PR changes 30-99 lines, ignoring generated files

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions