Veritheia Documentation
Overview
This directory contains the complete documentation for Veritheia—an environment where you author your own understanding rather than consume processed information.
Start with the VISION to understand how Veritheia ensures intellectual sovereignty.
Documentation Index
Core Documents (Read in Order)
- VISION.md - Understanding through authorship
- How Veritheia ensures users remain the authors
- Why every output bears the author’s intellectual fingerprint
- The architecture of intellectual sovereignty
- ARCHITECTURE.md - System design supporting authorship
- Components that amplify rather than replace thinking
- Patterns that ensure personal understanding
- Models that make insights non-transferable
- MVP-SPECIFICATION.md - Features for formation
- Capabilities that develop understanding
- Interfaces that support authorship
- Processes that ensure intellectual ownership
- IMPLEMENTATION.md - Technical foundation for sovereignty
- Technologies that preserve the journey
- Workflows that maintain context
- Systems that protect formation
- DESIGN-PATTERNS.md - Imperative implementation patterns
- Domain-Driven Design patterns
- Repository and Specification patterns
- CQRS and Unit of Work
- Code examples and checklists
- EXTENSION-GUIDE.md - Creating full-stack extensions
- Process implementation patterns
- Domain model integration
- UI component development
- Distribution and testing
- API-CONTRACTS.md - Interface definitions and contracts
- Core process interfaces
- Platform service contracts
- Data transfer objects
- HTTP API specifications
- USER-MODEL.md - User, journey, and journal architecture
- User as the constant with persona and knowledge base
- Journeys as process instances
- Journals as narrative records
- Future sharing patterns
- CLASS-MODEL.md - Core domain classes and their relationships
- Comprehensive Mermaid class diagram
- Aggregate boundaries and design principles
- Process-specific domain models
- Repository and service patterns
- ENTITY-RELATIONSHIP.md - Database schema and data model
- PostgreSQL schema with pgvector extension
- Comprehensive ERD using Mermaid
- Table definitions with indexes
- Migration strategy and security patterns
- TESTING-STRATEGY.md - Test types, coverage expectations, and behavioral specs
- Testing philosophy aligned with formation principles
- Unit, integration, and behavioral test patterns
- Context assembly and journey integrity tests
- Extension testing guidelines
- PROMPT-ENGINEERING.md - Prompt patterns that maintain formation boundaries
- Role constraints for AI assistance
- Context assembly from journey and journals
- Validation patterns preventing insight generation
- Anti-patterns and required patterns
Planned Documents
- DEPLOYMENT-GUIDE.md - Production deployment procedures
- SECURITY-POLICIES.md - Security boundaries and threat model
Documentation Standards
Document Structure
Each document should include:
- Title - Clear, descriptive title as H1
- Purpose Statement - Brief paragraph explaining the document’s intent
- Table of Contents - For documents over 3 sections
- Headings: Use hierarchical markdown headings (H1 for title, H2 for major sections, H3 for subsections)
- Code Examples: Use fenced code blocks with language hints
- Diagrams: ASCII diagrams for architecture, Mermaid for complex flows
- Lists: Use numbered lists for sequences, bullet points for unordered items
Cross-References
- Link between documents using relative paths:
[See Architecture](/ARCHITECTURE.html#section-name)
- Maintain link integrity when renaming sections
- Use descriptive link text, not “click here”
Language Guidelines
Requirement Levels (inspired by RFC 2119)
When documenting requirements, use these keywords consistently:
- MUST/REQUIRED: Absolute requirements
- MUST NOT: Absolute prohibitions
- SHOULD/RECOMMENDED: Strong recommendations with valid exceptions
- MAY/OPTIONAL: Truly optional features
Example: “The Process Engine MUST validate all API requests”
Clarity Principles
- Write for developers who are new to the project
- Define domain terms on first use
- Prefer concrete examples over abstract descriptions
- Keep sentences concise and paragraphs focused
Document Types
- Conceptual (like ARCHITECTURE.md)
- Focus on the “what” and “why”
- Avoid implementation details
- Use domain language
- Specification (like MVP-SPECIFICATION.md)
- Enumerate features and requirements
- Use consistent formatting for easy scanning
- Include acceptance criteria where applicable
- Technical (like IMPLEMENTATION.md and EXTENSION-GUIDE.md)
- Focus on the “how”
- Include code examples
- Reference specific technologies and versions
- Operational (like planned DEPLOYMENT-GUIDE.md)
- Step-by-step procedures
- Prerequisites clearly stated
- Troubleshooting sections
Maintenance
- Review documents quarterly for accuracy
- Update cross-references when restructuring
- Archive deprecated documents with clear notices
- Track major changes in commit messages
Contributing to Documentation
When adding new documentation:
- Place all documentation in this directory
- Determine the appropriate document type
- Follow the structure and formatting conventions
- Add entry to this README’s index
- Ensure all cross-references work
Changes will be automatically published via GitHub Pages.