You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Sven Geboers f376300804 refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
..
01-naming.yaml feat(mindmodel): add manifest loader and tests 1 month ago
10-db-schema.yaml feat(mindmodel): add manifest loader and tests 1 month ago
20-domain-glossary.yaml feat(mindmodel): add manifest loader and tests 1 month ago
30-clusters.yaml feat(mindmodel): add manifest loader and tests 1 month ago
40-patterns.yaml feat(mindmodel): add manifest loader and tests 1 month ago
50-anti-patterns.yaml feat(mindmodel): add manifest loader and tests 1 month ago
60-examples.yaml feat(mindmodel): add manifest loader and tests 1 month ago
99-stack.yaml feat(mindmodel): add manifest loader and tests 1 month ago
README.md refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
db_connection.yaml chore: add .mindmodel/ project constraints and conventions 1 month ago
error-handling.yaml refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
error_handling.yaml chore: add .mindmodel/ project constraints and conventions 1 month ago
imports.yaml refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
logging.yaml refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
naming.yaml refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago
testing.yaml chore: add .mindmodel/ project constraints and conventions 1 month ago
types.yaml refactor: delete stale files and consolidate .mindmodel structure 4 weeks ago

README.md

Constraint Files Index

This directory contains all constraint files for the Stemwijzer codebase.

Quick Navigation

Category File Purpose
Stack ../stack/stack.yaml Tech stack overview
Architecture ../architecture/architecture.yaml Data flow, page routing, component relationships
Conventions ../conventions/conventions.yaml Naming, error handling, code organization
Domain ../domain/domain-glossary.yaml Dutch political terms, algorithm concepts
Patterns ../patterns/patterns.yaml 10 code patterns (page wrapper, pipeline, etc.)
Anti-Patterns ../anti-patterns/anti-patterns.yaml 7 issues including CRITICAL BUG
Dependencies ../dependencies/dependencies.yaml Library wiring, singletons, imports

How to Use

  1. Before writing code: Check patterns/patterns.yaml for how similar features are implemented
  2. When naming things: Follow conventions/conventions.yaml (snake_case functions, PascalCase classes)
  3. When handling errors: Avoid patterns in anti-patterns/anti-patterns.yaml
  4. When working with domain terms: Reference domain/domain-glossary.yaml
  5. When connecting components: See dependencies/dependencies.yaml for wiring

Key Conventions Summary

  • Files: snake_case (explorer_helpers.py)
  • Functions: snake_case (compute_party_coords)
  • Classes: PascalCase (MotionDatabase)
  • Constants: UPPER_SNAKE_CASE (PARTY_COLOURS)
  • No bare except: — always specify exception type
  • Pure functions in helpers — no IO, no Streamlit calls
  • One singleton per moduledb, config, PARTY_COLOURS

Critical Bug

Read ../anti-patterns/anti-patterns.yaml first. Section 1 documents a critical bug in explorer_helpers.py:compute_party_coords where party names in svd_vectors entity_id are not recognized because party_map only contains MP-name keys.

Files Generated

  • manifest.yaml — lists all constraint files with group mappings
  • stack/stack.yaml — tech stack
  • architecture/architecture.yaml — data flow & components
  • conventions/conventions.yaml — coding conventions
  • domain/domain-glossary.yaml — domain terminology
  • patterns/patterns.yaml — 10 code patterns with examples
  • anti-patterns/anti-patterns.yaml — 7 anti-patterns including CRITICAL BUG
  • dependencies/dependencies.yaml — library wiring
  • README.md — this index