Data surfaces#
Data surfaces are the representations Katalyst operations read from content.
Checks, inspectors, and fix do not all need the same surface: one check may
read structured metadata, another may scan body text, and another may inspect a
path. Naming those surfaces keeps the reference precise without turning every
representation into a codec.
Today, Katalyst exposes four data surfaces:
| Surface | Meaning |
|---|---|
| File metadata | Filename, extension, parent directory, path depth, and other attributes derived from the item’s reference. |
| Plain text | Body content read as raw text, independent of markdown structure. |
| Markdown body text | A parsed markdown document with optional frontmatter metadata, body bytes, source format, and source-line lookup. |
| Structured object | Metadata normalized to a map[string]any, used by object and schema-backed checks. |
Only Markdown body text is backed by a dedicated codec package today. The other surfaces are projections over parsed data or derived references.