MSP-1 Specification
type
The type term classifies an MSP-1 resource, entity, page, section, provenance entry, intent, role, or related declaration into a meaningful semantic category.
1. Purpose
The type term allows agents, validators, and implementation tools to understand what kind of thing is being described. It allows systems to:
- Classify resources, entities, pages, sections, provenance entries, roles, intents, and related declarations.
- Apply appropriate interpretation, grouping, and reasoning.
- Distinguish classification from function or purpose.
- Use flexible descriptive labels without requiring a rigid MSP-1 taxonomy.
Type classification improves clarity by making the declared category explicit instead of requiring agents to infer it from surrounding context.
2. Normative definition
An MSP-1 type value is either a single string classifier or an array of string classifiers. A type should be:
- Meaningful — accurately describes the entity or declaration being classified.
- Stable — remains stable across revisions unless the resource undergoes a genuine conceptual shift.
- Human-readable — clear and understandable rather than cryptic.
- Consistent — used consistently across related resources.
Multiple types may be used when more than one classification is semantically justified.
3. Common type categories in MSP-1
MSP-1 does not impose a rigid taxonomy, but common descriptive type labels may include:
- original — created directly by the author or site.
- derived — based on preexisting content.
- ai-assisted — created in collaboration with AI systems.
- ai-generated — generated primarily by AI systems.
- editorial — representing structural or editorial modification.
- guide — instructional or explanatory content.
- reference — factual or lookup-oriented content.
- documentation — procedural, descriptive, or specification-oriented content.
- article, profile, dataset, spec, or schema — additional descriptive classifiers where appropriate.
Implementers may define custom types as long as they remain descriptive, accurate, and consistent.
4. Required fields
- type — contextual; when present, should be a single string or an array of string classifiers.
The broad type term is not universally required. It is required only where the active schema or declaration context requires semantic classification.
Expanded fields such as category, vocabulary, purpose, canonical, aliases, confidence, and notes are not part of the canonical core type term unless separately defined by an active profile or schema.
5. AI interpretation rules
- AI agents should treat
typeas a semantic classifier. - Where multiple types are present, agents should interpret them cumulatively when the combination is semantically coherent.
- Agents should not infer undeclared types unless strongly supported by surrounding metadata or content context.
- Conflicting, misleading, or internally inconsistent type declarations should be treated as non-ideal structural conditions.
- If expanded object-form type metadata is encountered, validators may treat it as structured type metadata or schema drift and issue an advisory warning when graceful degradation is appropriate.
Type declarations help agents classify content without overloading identity, function, or purpose metadata.
6. Relationship to related MSP-1 terms
- name — provides a human-readable label;
typeprovides semantic classification. - description — explains what the resource is about;
typeclassifies what it is. - page and section — may use type to classify content architecture.
- intent — describes why the content or declaration exists.
- role — describes what function something serves.
- provenance — may use type to classify origin or creation context.
- trust and authority — may be interpreted with awareness of type, but are not substitutes for type.
Do not confuse type with role or intent. type classifies what something is; role describes what function it serves; intent describes why the content or declaration exists.
7. Examples
Single type declaration:
{
"type": "guide"
}
Multiple type declaration:
{
"type": ["derived", "ai-assisted"]
}
Page-level type declaration:
{
"page": {
"id": "lighting-guide",
"type": "guide"
}
}
Provenance type declaration:
{
"provenance": {
"type": ["ai-assisted", "editorial"]
}
}
8. Conformance
A resource conforms to the MSP-1 type specification when:
- It expresses
typeas a single string or an array of strings. - It uses meaningful, accurate, and internally consistent type labels.
- It uses multiple types only when semantically justified.
- It avoids implying a rigid MSP-1 taxonomy where flexible descriptive classification is intended.
- It does not treat
typeas interchangeable withroleorintent.