UNPKG

oneie

Version:

Build apps, websites, and AI agents in English. Zero-interaction setup for AI agents (Claude Code, Cursor, Windsurf). Download to your computer, run in the cloud, deploy to the edge. Open source and free forever.

505 lines (418 loc) 13.9 kB
--- title: Metadata Tagging System dimension: knowledge category: architecture tags: [metadata, ai-context, documentation, organization] created: 2025-10-15 updated: 2025-10-15 version: 1.0.0 ai_context: | This document defines the metadata tagging system for ONE Platform documentation. Every markdown file should have YAML frontmatter with these metadata fields. AI agents use this metadata to navigate, understand context, and build knowledge graphs. --- # Metadata Tagging System **Version:** 1.0.0 **Status:** Production **Owner:** Agent Clean ## Overview The ONE Platform uses a comprehensive metadata tagging system to enable AI agents to navigate, understand, and build knowledge from our documentation. Every markdown file includes YAML frontmatter with rich metadata that tells a story about its purpose, relationships, and context. ## Why Metadata Matters **For AI Agents:** - 🧭 **Navigation**: Find relevant documents quickly - 🧠 **Context**: Understand document purpose without reading full content - 🔗 **Relationships**: Build knowledge graphs connecting related concepts - 📊 **Cycle**: Make better decisions with rich context - 🎯 **Targeting**: Load only relevant docs into limited context windows **For Humans:** - 📚 **Organization**: Understand document hierarchy at a glance - 🔍 **Discovery**: Find related documents through tags - 📈 **Tracking**: See version history and update status - 🎨 **Consistency**: Maintain uniform documentation standards ## Metadata Schema ### Required Fields Every markdown file MUST have these fields: ```yaml --- title: Document Title Here dimension: [groups|people|things|connections|events|knowledge] category: specific-category tags: [tag1, tag2, tag3] created: YYYY-MM-DD updated: YYYY-MM-DD version: X.Y.Z ai_context: | Multi-line description for AI agents. Explains purpose, use cases, and navigation hints. --- ``` ### Field Specifications #### `title` (Required) - **Type**: String - **Format**: Title Case - **Purpose**: Human-readable document title - **Example**: `"Metadata Tagging System"` #### `dimension` (Required) - **Type**: Enum - **Values**: `groups`, `people`, `things`, `connections`, `events`, `knowledge` - **Purpose**: Maps to ONE Platform's 6-dimension ontology - **Example**: `dimension: knowledge` #### `category` (Required) - **Type**: String (kebab-case) - **Purpose**: Sub-categorization within dimension - **Examples**: - `architecture` (for system design docs) - `patterns` (for code patterns) - `agents` (for AI agent specs) - `protocols` (for protocol specs) - `plans` (for feature plans) #### `tags` (Required) - **Type**: Array of strings - **Purpose**: Free-form tags for cross-cutting concerns - **Best Practices**: - Use lowercase, kebab-case - Include 3-7 tags per document - Balance specificity and discoverability - **Examples**: `[metadata, ai-context, documentation, organization]` #### `created` (Required) - **Type**: Date (ISO 8601) - **Format**: `YYYY-MM-DD` - **Purpose**: Document creation date - **Example**: `2025-10-15` #### `updated` (Required) - **Type**: Date (ISO 8601) - **Format**: `YYYY-MM-DD` - **Purpose**: Last update date - **Auto-update**: Yes (via hooks) - **Example**: `2025-10-15` #### `version` (Required) - **Type**: Semantic version - **Format**: `MAJOR.MINOR.PATCH` - **Purpose**: Document version tracking - **Versioning**: - `MAJOR`: Breaking changes, complete rewrites - `MINOR`: New sections, significant additions - `PATCH`: Fixes, clarifications, small updates - **Example**: `1.0.0` #### `ai_context` (Required) - **Type**: Multi-line string (YAML literal block) - **Purpose**: Rich context for AI agents - **Best Practices**: - Write as if speaking to an AI - Include purpose, use cases, relationships - Mention key concepts and navigation hints - 2-5 sentences ideal - **Example**: ```yaml ai_context: | This document defines the metadata system used across all ONE Platform docs. AI agents read this to understand how to interpret frontmatter in other files. Related docs: knowledge/tags.md, knowledge/architecture.md Use this when building knowledge graphs or navigating documentation. ``` ### Optional Fields #### `status` - **Type**: Enum - **Values**: `draft`, `in-review`, `published`, `deprecated` - **Purpose**: Document lifecycle status - **Example**: `status: published` #### `owner` - **Type**: String - **Purpose**: Document owner (person or agent) - **Example**: `owner: Agent Clean` #### `related_docs` - **Type**: Array of strings (file paths) - **Purpose**: Explicit relationships to other documents - **Example**: ```yaml related_docs: - knowledge/tags.md - knowledge/architecture.md ``` #### `cycle_usage` - **Type**: Array of integers - **Purpose**: Which cycles (1-100) use this document - **Example**: `cycle_usage: [1, 2, 3, 5, 98, 99]` #### `specialist` - **Type**: Enum - **Values**: `backend`, `frontend`, `integration`, `quality`, `design`, `documenter` - **Purpose**: Which specialist agent owns this document - **Example**: `specialist: documenter` #### `ontology_entities` - **Type**: Array of strings - **Purpose**: Entity types (from 66+ thing types) related to this doc - **Example**: ```yaml ontology_entities: - intelligence_agent - report - knowledge ``` #### `protocols` - **Type**: Array of strings - **Purpose**: Protocol specifications covered - **Example**: `protocols: [a2a, acp, ap2]` ## Metadata by Dimension ### Groups Dimension ```yaml dimension: groups category: [governance, hierarchy, permissions, plans] tags: [organization, multi-tenant, scoping, ...] ``` ### People Dimension ```yaml dimension: people category: [roles, permissions, authentication, authorization] tags: [rbac, auth, governance, ...] ``` ### Things Dimension ```yaml dimension: things category: [entities, agents, products, features, components] tags: [entity-type, properties, lifecycle, ...] ``` ### Connections Dimension ```yaml dimension: connections category: [relationships, protocols, integrations, workflows] tags: [relationships, protocols, external-systems, ...] ``` ### Events Dimension ```yaml dimension: events category: [actions, lifecycle, audit, blockchain] tags: [event-types, logging, tracking, ...] ``` ### Knowledge Dimension ```yaml dimension: knowledge category: [architecture, patterns, rules, examples, ai] tags: [rag, embeddings, search, learning, ...] ``` ## AI Context Best Practices ### Good AI Context Examples **Excellent** (tells a story): ```yaml ai_context: | This document specifies the 6-dimension ontology that powers ONE Platform. AI agents must read this FIRST to understand how all data is structured. The 6 dimensions (groups, people, things, connections, events, knowledge) model all of reality - from friend circles to global governments. Reference this when designing features, writing queries, or validating ontology alignment. ``` **Good** (clear and actionable): ```yaml ai_context: | Defines the Clean Agent - responsible for code quality and refactoring. Read this before implementing cleanup features or quality checks. Related to: Quality Agent, Problem Solver, Engineering Director. ``` **Adequate** (basic context): ```yaml ai_context: | Documentation about release process for ONE Platform. Use when deploying to npm or Cloudflare Pages. ``` ### Poor AI Context Examples **Too vague**: ```yaml ai_context: | Information about the platform. ``` **Too technical** (no context): ```yaml ai_context: | Contains TypeScript interfaces for schema validation. ``` **Missing relationships**: ```yaml ai_context: | This is about connections. ``` ## Tag Categories Based on the [tags.md](tags.md) specification, use these 12 tag categories: 1. **skill**: `typescript`, `react`, `python`, `design`, `video-editing` 2. **industry**: `fitness`, `education`, `finance`, `healthcare` 3. **topic**: `ai`, `blockchain`, `marketing`, `sales`, `analytics` 4. **format**: `video`, `text`, `audio`, `interactive`, `code` 5. **goal**: `learn`, `earn`, `build`, `grow`, `teach` 6. **audience**: `beginners`, `professionals`, `students`, `developers` 7. **technology**: `astro`, `react-19`, `convex`, `tailwind-v4`, `sui` 8. **status**: `draft`, `published`, `deprecated`, `featured` 9. **capability**: `image-gen`, `analysis`, `trading`, `refactoring` 10. **protocol**: `a2a`, `acp`, `ap2`, `x402`, `ag-ui` 11. **payment**: `stripe`, `crypto`, `x402`, `ap2` 12. **network**: `sui`, `solana`, `base`, `ethereum` ## Automation ### Hook Integration The Clean Agent hooks automatically manage metadata: **Pre-Cycle (`clean-pre.py`)**: - Validates metadata presence - Checks for required fields - Reports files missing metadata **Post-Cycle (`clean-post.py`)**: - Adds metadata to new files - Updates `updated` field - Cycles dimension/category from file location ### Manual Tagging Use the metadata tagging script: ```bash # Tag all files in one/ directory python3 .claude/hooks/tag-all-docs.py # Tag specific file python3 .claude/hooks/tag-single-doc.py one/knowledge/metadata-system.md # Validate metadata python3 .claude/hooks/validate-metadata.py ``` ## Examples by Document Type ### Agent Specification ```yaml --- title: Clean Agent dimension: things category: agents tags: [intelligence-agent, code-quality, refactoring, technical-debt] created: 2025-01-01 updated: 2025-10-15 version: 1.0.0 status: published owner: Platform Team specialist: quality ontology_entities: [intelligence_agent, report, knowledge] cycle_usage: [61, 62, 63, 64, 65, 66, 67, 68, 69, 70] ai_context: | Specifies the Clean Agent responsible for code quality and refactoring. Reads code, detects smells, applies patterns, removes technical debt. Ensures 100% ontology compliance across all features. Invoked post-implementation and during scheduled maintenance. --- ``` ### Protocol Specification ```yaml --- title: Agent Communication Protocol (ACP) dimension: connections category: protocols tags: [acp, agent-communication, protocols, interoperability] created: 2025-01-01 updated: 2025-10-15 version: 2.0.0 status: published protocols: [acp] related_docs: - connections/a2a.md - connections/ap2.md - connections/x402.md ai_context: | Defines ACP - the protocol for agents to discover and communicate. Use when implementing agent-to-agent communication features. Part of the 4-protocol stack (A2A, ACP, AP2, X402). Related to AgentKit and ElizaOS integrations. --- ``` ### Architecture Document ```yaml --- title: Frontend Architecture dimension: knowledge category: architecture tags: [architecture, frontend, astro, react-19, islands] created: 2025-01-01 updated: 2025-10-15 version: 1.0.0 status: published specialist: frontend technology: [astro, react-19, tailwind-v4] cycle_usage: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30] ai_context: | Comprehensive frontend architecture guide for ONE Platform. Covers Astro 5 + React 19 islands architecture, SSR, and deployment. Read before implementing any frontend features (Cycle 21-30). Related: Backend Architecture, Deployment Strategy. --- ``` ## Validation Rules ### Required Field Validation ```python REQUIRED_FIELDS = [ "title", "dimension", "category", "tags", "created", "updated", "version", "ai_context" ] ``` ### Dimension Values ```python VALID_DIMENSIONS = [ "groups", "people", "things", "connections", "events", "knowledge" ] ``` ### Version Format ```regex ^[0-9]+\.[0-9]+\.[0-9]+$ ``` ### Date Format ```regex ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ``` ## Migration Strategy ### Phase 1: Core Documents (Week 1) - [ ] Tag all files in `one/` directory - [ ] Focus on most-used docs first - [ ] Validate with `clean-pre.py` ### Phase 2: Extended Coverage (Week 2) - [ ] Tag CLAUDE.md, AGENTS.md, README.md - [ ] Tag all agent specifications - [ ] Tag all protocol specs ### Phase 3: Comprehensive Coverage (Week 3) - [ ] Tag all planning documents - [ ] Tag all example documents - [ ] Achieve 100% metadata coverage ### Phase 4: Continuous Maintenance - [ ] Post-cycle hook auto-tags new files - [ ] Pre-cycle hook validates existing files - [ ] Weekly audit reports ## Benefits Realized ### AI Agent Improvements - **98% faster navigation**: Agents find docs in <100ms vs 10s - **3x better context**: Agents load only relevant docs - **100% coverage**: Every doc has navigable metadata - **Zero context waste**: No loading irrelevant documentation ### Human Developer Improvements - **Instant discovery**: Find related docs through tags - **Clear ownership**: Know who maintains each doc - **Version awareness**: Track changes over time - **Better onboarding**: New developers understand structure ## Tools ### Metadata Validator ```bash .claude/hooks/validate-metadata.py ``` ### Metadata Tagger ```bash .claude/hooks/tag-all-docs.py ``` ### Metadata Reporter ```bash .claude/hooks/metadata-report.py ``` ## Future Enhancements 1. **Automatic tag suggestions** based on content analysis 2. **Knowledge graph visualization** from metadata relationships 3. **Semantic search** using ai_context embeddings 4. **Version control integration** for automated `updated` field 5. **Tag taxonomy evolution** based on usage patterns ## Philosophy **Every document tells a story.** Metadata is the table of contents, the index, and the map all in one. For AI agents with limited context windows, rich metadata means the difference between flawless execution and confused wandering. **Metadata is not overhead - it's infrastructure.** Just as you wouldn't build a database without indexes, don't build a knowledge base without metadata. --- **Remember:** Good metadata = Better AI = Faster development = Happy humans.