# Plaintext Format Schema — File Format Specification # KNO Schema Version: 0.1.0 # Canonical XRI: kno://specs/plaintext-format $schema: kno@0.0.9 id: 01M50T7BJPCRRBTF1XRZN6ECPJ slug: plaintext-format type: spec version: 0.1.0 title: "Plaintext Format Schema" purpose: | Describe unformatted text as a general-purpose source format in KNO. It describes the format dimension independently of domain and purpose. It introduces no channel-specific primitive or document-source policy. provenance: origin: id: 01M50T7BJPCRRBTF1XRZN6ECPJ timestamp: "2026-10-15T22:16:48Z" tool: manual taxonomy: topics: - file-formats - documentation keywords: - plaintext - utf-8 relationships: depends_on: - xri: "kno://specs/kno-spec" reason: "Conforms to the KNO format specification" produces: - xri: "kno://specs/document-schema" reason: "This format can supply text for a document entity" related_to: - xri: "kno://specs/markdown-format" reason: "Sibling text format and spec.format house pattern" - xri: "kno://specs/html-format" reason: "Another general-purpose text format with distinct interpretation rules" quality: completeness: 0.8 last_reviewed: "2026-10-16" review_status: draft reviewed_by: "Codex 01a1421a-f748-7dc3-b0f9-2cd8db0052b1" _history: retention: full format: changelog changelog: - version: "0.1.0" date: "2026-10-16" author: "Codex 01a1421a-f748-7dc3-b0f9-2cd8db0052b1" summary: "Initial plaintext format artifact (#6132)" changes: - "Uses kno://specs/plaintext-format and existing name-based resolution" - "Reconciles the unpublished alias draft with the retained house-form allocation" spec: status: Draft standards: - name: "RFC 2046 section 4.1.3 — Plain Subtype" url: "https://www.rfc-editor.org/rfc/rfc2046#section-4.1.3" format: name: "Plaintext" mime_type: "text/plain" extensions: - ".txt" - ".text" encoding: "UTF-8" line_endings: - "LF" - "CRLF" description: | Plain text contains character data without formatting commands. Markup-like characters remain literal text. An empty string is still plain text; a consumer may impose its own non-empty-content requirement. grammar: | The text/plain media type is defined by RFC 2046. This KNO representation uses UTF-8, following the sibling Markdown format's encoding convention; that does not redefine the media type's charset or transport rules. Importers must decode the source using its declared encoding and retain any transformation provenance required by the containing entity. No Markdown, HTML, template interpolation or executable language is implied by the characters in plain text. rendering: | Display plain text as text. When placing it inside another format, use that destination's escaping rules. For example, HTML text-node insertion must not interpret literal angle brackets as elements. This format does not authorize navigation, execution or resource fetching. kno_integration: description: | The canonical format reference is kno://specs/plaintext-format. The spec registry serves /plaintext-format.kno and /plaintext-format@0.1.0.kno through its existing routes. A local conforms_to reference uses plaintext-format@0.1.0 in validate-kno.ts. These are different input syntaxes; no kno://formats/* alias is defined. A containing document may identify plaintext using its existing content_format and source_format fields. The following is a partial field example, not a complete document or a ruling on source authority. Inline, embedded-local, external and reflexive source contracts remain governed by the document schema and its separately held #6067 decision. example: | content_format: plaintext source_format: plaintext content: | Literal text: is not an HTML element here. validation_boundary: | KNO validation checks the format artifact's structure. Resolving this artifact does not validate arbitrary source against the format grammar, implement a renderer, or prove document/profile conformance. Domain schemas and consuming profiles impose their own requirements. annotations: design_notes: | Follows specs/markdown-format.kno's spec.format block. Legacy kno://formats/plaintext declarations in the held document schema are unresolved references, not aliases installed by this artifact. No static schema manifest entry or resolver implementation is added.