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:
@@ -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]` |
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user