minor ci fixes
Some checks failed
Security Scan / security (pull_request) Successful in 48s
Security Scan / dependency-check (pull_request) Failing after 36s
Test Suite / lint (pull_request) Failing after 29s
Test Suite / test (3.11) (pull_request) Successful in 1m24s
Test Suite / build (pull_request) Has been skipped
Some checks failed
Security Scan / security (pull_request) Successful in 48s
Security Scan / dependency-check (pull_request) Failing after 36s
Test Suite / lint (pull_request) Failing after 29s
Test Suite / test (3.11) (pull_request) Successful in 1m24s
Test Suite / build (pull_request) Has been skipped
This commit is contained in:
@@ -41,7 +41,7 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Upload security reports
|
- name: Upload security reports
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: security-reports
|
name: security-reports
|
||||||
path: |
|
path: |
|
||||||
|
@@ -2,16 +2,20 @@ name: Test Suite
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["*"]
|
branches:
|
||||||
|
- "main"
|
||||||
|
- "develop"
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ["main", "master"]
|
branches:
|
||||||
|
- "main"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ["3.11", "3.12"]
|
python-version: ["3.11"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
17
CLAUDE.md
17
CLAUDE.md
@@ -42,7 +42,7 @@ Use the included `sample_data.ndjson` and `sample_prompts.ndjson` files for test
|
|||||||
|
|
||||||
The application follows a modular architecture with clear separation of concerns:
|
The application follows a modular architecture with clear separation of concerns:
|
||||||
|
|
||||||
```
|
```text
|
||||||
src/embeddingbuddy/
|
src/embeddingbuddy/
|
||||||
├── app.py # Main application entry point and factory
|
├── app.py # Main application entry point and factory
|
||||||
├── main.py # Application runner
|
├── main.py # Application runner
|
||||||
@@ -72,27 +72,32 @@ src/embeddingbuddy/
|
|||||||
### Key Components
|
### Key Components
|
||||||
|
|
||||||
**Data Layer:**
|
**Data Layer:**
|
||||||
|
|
||||||
- `data/parser.py` - NDJSON parsing with error handling
|
- `data/parser.py` - NDJSON parsing with error handling
|
||||||
- `data/processor.py` - Data transformation and combination logic
|
- `data/processor.py` - Data transformation and combination logic
|
||||||
- `models/schemas.py` - Dataclasses for type safety and validation
|
- `models/schemas.py` - Dataclasses for type safety and validation
|
||||||
|
|
||||||
**Algorithm Layer:**
|
**Algorithm Layer:**
|
||||||
|
|
||||||
- `models/reducers.py` - Modular dimensionality reduction with factory pattern
|
- `models/reducers.py` - Modular dimensionality reduction with factory pattern
|
||||||
- Supports PCA, t-SNE (openTSNE), and UMAP algorithms
|
- Supports PCA, t-SNE (openTSNE), and UMAP algorithms
|
||||||
- Abstract base class for easy extension
|
- Abstract base class for easy extension
|
||||||
|
|
||||||
**Visualization Layer:**
|
**Visualization Layer:**
|
||||||
|
|
||||||
- `visualization/plots.py` - Plot factory with single and dual plot support
|
- `visualization/plots.py` - Plot factory with single and dual plot support
|
||||||
- `visualization/colors.py` - Color mapping and grayscale conversion utilities
|
- `visualization/colors.py` - Color mapping and grayscale conversion utilities
|
||||||
- Plotly-based 2D/3D scatter plots with interactive features
|
- Plotly-based 2D/3D scatter plots with interactive features
|
||||||
|
|
||||||
**UI Layer:**
|
**UI Layer:**
|
||||||
|
|
||||||
- `ui/layout.py` - Main application layout composition
|
- `ui/layout.py` - Main application layout composition
|
||||||
- `ui/components/` - Reusable, testable UI components
|
- `ui/components/` - Reusable, testable UI components
|
||||||
- `ui/callbacks/` - Organized callbacks grouped by functionality
|
- `ui/callbacks/` - Organized callbacks grouped by functionality
|
||||||
- Bootstrap-styled sidebar with controls and large visualization area
|
- Bootstrap-styled sidebar with controls and large visualization area
|
||||||
|
|
||||||
**Configuration:**
|
**Configuration:**
|
||||||
|
|
||||||
- `config/settings.py` - Centralized settings with environment variable support
|
- `config/settings.py` - Centralized settings with environment variable support
|
||||||
- Plot styling, marker configurations, and app-wide constants
|
- Plot styling, marker configurations, and app-wide constants
|
||||||
|
|
||||||
@@ -112,16 +117,19 @@ Optional fields: `id`, `category`, `subcategory`, `tags`
|
|||||||
The refactored callback system is organized by functionality:
|
The refactored callback system is organized by functionality:
|
||||||
|
|
||||||
**Data Processing (`ui/callbacks/data_processing.py`):**
|
**Data Processing (`ui/callbacks/data_processing.py`):**
|
||||||
|
|
||||||
- File upload handling
|
- File upload handling
|
||||||
- NDJSON parsing and validation
|
- NDJSON parsing and validation
|
||||||
- Data storage in dcc.Store components
|
- Data storage in dcc.Store components
|
||||||
|
|
||||||
**Visualization (`ui/callbacks/visualization.py`):**
|
**Visualization (`ui/callbacks/visualization.py`):**
|
||||||
|
|
||||||
- Dimensionality reduction pipeline
|
- Dimensionality reduction pipeline
|
||||||
- Plot generation and updates
|
- Plot generation and updates
|
||||||
- Method/parameter change handling
|
- Method/parameter change handling
|
||||||
|
|
||||||
**Interactions (`ui/callbacks/interactions.py`):**
|
**Interactions (`ui/callbacks/interactions.py`):**
|
||||||
|
|
||||||
- Point click handling and detail display
|
- Point click handling and detail display
|
||||||
- Reset functionality
|
- Reset functionality
|
||||||
- User interaction management
|
- User interaction management
|
||||||
@@ -131,15 +139,18 @@ The refactored callback system is organized by functionality:
|
|||||||
The modular design enables comprehensive testing:
|
The modular design enables comprehensive testing:
|
||||||
|
|
||||||
**Unit Tests:**
|
**Unit Tests:**
|
||||||
|
|
||||||
- `tests/test_data_processing.py` - Parser and processor logic
|
- `tests/test_data_processing.py` - Parser and processor logic
|
||||||
- `tests/test_reducers.py` - Dimensionality reduction algorithms
|
- `tests/test_reducers.py` - Dimensionality reduction algorithms
|
||||||
- `tests/test_visualization.py` - Plot creation and color mapping
|
- `tests/test_visualization.py` - Plot creation and color mapping
|
||||||
|
|
||||||
**Integration Tests:**
|
**Integration Tests:**
|
||||||
|
|
||||||
- End-to-end data pipeline testing
|
- End-to-end data pipeline testing
|
||||||
- Component integration verification
|
- Component integration verification
|
||||||
|
|
||||||
**Key Testing Benefits:**
|
**Key Testing Benefits:**
|
||||||
|
|
||||||
- Fast test execution (milliseconds vs seconds)
|
- Fast test execution (milliseconds vs seconds)
|
||||||
- Isolated component testing
|
- Isolated component testing
|
||||||
- Easy mocking and fixture creation
|
- Easy mocking and fixture creation
|
||||||
@@ -167,6 +178,7 @@ Uses modern Python stack with uv for dependency management:
|
|||||||
5. **Tests** - Write tests for all new functionality
|
5. **Tests** - Write tests for all new functionality
|
||||||
|
|
||||||
**Code Organization Principles:**
|
**Code Organization Principles:**
|
||||||
|
|
||||||
- Single responsibility principle
|
- Single responsibility principle
|
||||||
- Clear module boundaries
|
- Clear module boundaries
|
||||||
- Testable, isolated components
|
- Testable, isolated components
|
||||||
@@ -174,7 +186,8 @@ Uses modern Python stack with uv for dependency management:
|
|||||||
- Error handling at appropriate layers
|
- Error handling at appropriate layers
|
||||||
|
|
||||||
**Testing Requirements:**
|
**Testing Requirements:**
|
||||||
|
|
||||||
- Unit tests for all core logic
|
- Unit tests for all core logic
|
||||||
- Integration tests for data flow
|
- Integration tests for data flow
|
||||||
- Component tests for UI elements
|
- Component tests for UI elements
|
||||||
- Maintain high test coverage
|
- Maintain high test coverage
|
||||||
|
Reference in New Issue
Block a user