chore: convert mindmodel from YAML to markdown and clean up

Delete 17 malformed YAML constraint files and 10 stale numbered
constraint files. Convert domain glossary, patterns, stack, and
anti-patterns to markdown format. Update manifest.yaml to reference
new markdown files.
This commit is contained in:
2026-04-12 21:02:56 +02:00
parent 910ef0dc3b
commit 88595c869b
35 changed files with 1107 additions and 1469 deletions
+92
View File
@@ -0,0 +1,92 @@
---
title: Dependencies and Library Usage
category: dependencies
---
# Dependencies and Library Usage
## Core Dependencies
### duckdb
- **Required**: Yes
- **Fallback**: None (core functionality)
- **Usage**: SQL database for motions, embeddings, SVD vectors
- **Files**: database.py, analysis/*.py, pipeline/*.py
### streamlit
- **Required**: Yes
- **Fallback**: None
- **Usage**: Web UI framework
- **Files**: app.py, pages/*.py, explorer.py
### requests
- **Required**: Yes
- **Fallback**: None
- **Usage**: HTTP client for API calls
- **Files**: api_client.py, ai_provider.py
### plotly
- **Required**: Yes
- **Fallback**: None (raises ImportError)
- **Usage**: Interactive charts for explorer
- **Files**: explorer.py, explorer_helpers.py
## Optional Dependencies
### umap-learn
- **Required**: No
- **Fallback**: Use raw SVD vectors (first 2 dimensions)
- **Usage**: Dimensionality reduction for visualization
- **Files**: analysis/clustering.py
### matplotlib
- **Required**: No
- **Fallback**: Plotly or raw output
- **Usage**: Static charting
- **Files**: Various analysis scripts
## ML Dependencies
### sklearn
- **Required**: Yes
- **Usage**: KMeans clustering, cosine_similarity, StandardScaler
- **Files**: analysis/clustering.py, similarity/compute.py
### scipy
- **Required**: Yes
- **Usage**: SVD (scipy.linalg.svd), spatial.procrustes for alignment
- **Files**: analysis/trajectory.py, pipeline/svd_pipeline.py
### numpy
- **Required**: Yes
- **Usage**: Array operations, linear algebra
- **Files**: Throughout codebase
## Key Imports by File
### explorer.py
- `import streamlit as st`
- `from database import db`
- `from explorer_helpers import *`
### explorer_helpers.py
- `import pandas as pd`
- `import plotly.graph_objects as go`
- `from database import db` (optional, for type hints)
### database.py
- `import ibis`
- `import duckdb`
- `from config import config, PARTY_COLOURS`
### config.py
- `from dataclasses import dataclass, field`
- `import streamlit as st` (optional, for warnings)
## Singleton Instances
| Module | Instance | Type |
|--------|----------|------|
| `database.py` | `db` | `MotionDatabase` |
| `config.py` | `config` | `Config` (dataclass) |
| `config.py` | `PARTY_COLOURS` | `dict[str, str]` |
-78
View File
@@ -1,78 +0,0 @@
# Dependencies
## Core Library Wiring
### Database Layer
```
ibis → DuckDB → MotionDatabase singleton (database.py)
sqlglot (ibis dependency)
```
### Data Processing
```
pandas → (used throughout for DataFrame operations)
numpy → (used by sklearn, scipy, umap)
scipy → spatial.procrustes for window alignment
```
### ML Pipeline
```
sklearn.cluster → KMeans, Procrustes
sklearn.preprocessing → StandardScaler
umap → UMAP (optional, graceful fallback)
```
### Visualization
```
plotly → explorer_helpers.py chart builders
st.plotly_chart → explorer.py rendering
```
### Streamlit
```
streamlit → all pages, @st.cache_data decorators
```
## Optional Dependencies
| Package | Required | Fallback |
|---------|----------|----------|
| `umap` | No | Use raw SVD vectors (first 2 dims) |
| `plotly` | Yes | Raises ImportError |
| `duckdb` | Yes | — |
| `ibis` | Yes | — |
| `sklearn` | Yes | — |
## Singleton Instances
| Module | Instance | Type |
|--------|----------|------|
| `database.py` | `db` | `MotionDatabase` |
| `config.py` | `config` | `Config` (dataclass) |
| `config.py` | `PARTY_COLOURS` | `dict[str, str]` |
## Key Imports by File
```
explorer.py:
- import streamlit as st
- from database import db
- from explorer_helpers import *
explorer_helpers.py:
- import pandas as pd
- import plotly.graph_objects as go
- from database import db (optional, for type hints)
database.py:
- import ibis
- import duckdb
- from config import config, PARTY_COLOURS
config.py:
- from dataclasses import dataclass, field
- import streamlit as st (optional, for warnings)
```
## Environment
- Python ≥3.13
- Environment variables via `.env` (DB path, API keys)
- No `.env` values in constraint files (security)