# stemwijzer Mind Model - Manifest
# Generated: 2026-04-12
# Phase: 2 - Assembly from Phase 1 Analysis

name: stemwijzer
version: 2
description: Dutch political voting compass (Stemwijzer) - Mind Model constraints

categories:
  # Core documentation
  - path: system.md
    description: System overview and architecture summary
    group: docs
  - path: stack/stack.md
    description: Technology stack with versions and purposes
    group: stack
  - path: domain/domain-glossary.md
    description: Domain entities, terms, relationships, and CRITICAL INVARIANTS
    group: domain

  # Design patterns
  - path: patterns/patterns.yaml
    description: Code patterns (Singleton, Repository, Pipeline, etc.)
    group: patterns
  - path: patterns/streamlit.yaml
    description: Streamlit-specific patterns (session state, cache)
    group: patterns
  - path: patterns/api.yaml
    description: API client patterns with retry and pagination
    group: patterns
  - path: patterns/database.yaml
    description: DuckDB patterns and connection management
    group: patterns
  - path: patterns/python.yaml
    description: Python-specific patterns (dataclass, typing)
    group: patterns
  - path: patterns/duckdb-access.md
    description: DuckDB connection patterns and best practices
    group: patterns
  - path: patterns/embeddings-similarity.md
    description: Embeddings and similarity computation patterns
    group: patterns
  - path: patterns/error-handling.md
    description: Error handling and exception patterns
    group: patterns
  - path: patterns/module-singletons.md
    description: Module-level singleton patterns
    group: patterns
  - path: patterns/requests-http.md
    description: HTTP client patterns with retry
    group: patterns
  - path: patterns/validation.md
    description: Input validation patterns
    group: patterns

  # Coding constraints
  - path: constraints/error-handling.md
    description: Error handling patterns with safe fallbacks
    group: constraints
  - path: constraints/logging.md
    description: Logging conventions
    group: constraints
  - path: constraints/naming.yaml
    description: File, class, function naming rules
    group: constraints
  - path: constraints/imports.yaml
    description: Import organization and module structure
    group: constraints
  - path: constraints/types.yaml
    description: Type hint conventions
    group: constraints
  - path: constraints/testing.yaml
    description: Testing conventions
    group: constraints

  # Anti-patterns
  - path: anti-patterns/anti-patterns.md
    description: Known anti-patterns with evidence and fixes
    group: anti-patterns

  # Dependencies
  - path: dependencies/dependencies.md
    description: Library usage and singleton instances
    group: dependencies

  # Code examples
  - path: examples/database-example.py
    description: MotionDatabase usage examples
    group: examples
  - path: examples/api-client-example.py
    description: TweedeKamerAPI usage examples
    group: examples
  - path: examples/pipeline-example.py
    description: Pipeline orchestration examples
    group: examples
  - path: examples/streamlit-page-example.py
    description: Streamlit page patterns
    group: examples
  - path: examples/pattern-examples.md
    description: Consolidated pattern examples
    group: examples

# Phase 1 findings summary:
# - Tech: Python 3.13+, Streamlit, DuckDB, scipy/sklearn/umap, OpenRouter (QWEN)
# - 10 patterns discovered: Module singletons, Repository, Service layer, Pipeline
# - 8 anti-patterns: print() instead of logging, _DummySt global, bare except
# - 6 code clusters: Database, Streamlit UI, API, Analysis/ML, Config, Singletons
# - 3 groups: stdlib, 3rd party, local imports
