Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8e019a2
Add Ollama support with local model discovery and embeddings
Milofax Nov 21, 2025
5c0d01e
Fix syntax error in state_reconciliation.py - missing indentation in …
Milofax Nov 21, 2025
51b0afc
Fix LLM provider tests for Ollama auth token changes
Milofax Nov 21, 2025
80ca26d
fix(security): Address CodeRabbit review findings
Milofax Nov 21, 2025
d7b5ea6
Add CodeRabbit Review ToDo checklist (all items completed)
Milofax Nov 23, 2025
4e3c802
Revert "Add CodeRabbit Review ToDo checklist (all items completed)"
Milofax Nov 23, 2025
0a11f42
fix(ollama): Pass auth token through validation and discovery endpoints
Milofax Dec 1, 2025
260e30d
fix(ui): Sync auth token when using same host for embedding instance
Milofax Dec 1, 2025
3f13eb0
test(ui): Add unit tests for instance config sync utility
Milofax Dec 1, 2025
438effc
Merge upstream/main: Add OpenRouter embeddings support
Milofax Dec 1, 2025
5ebcf11
fix(ui): Use getDisplayed*Model() for selected model summary
Milofax Dec 1, 2025
dccf8f6
fix: Address CodeRabbit review feedback for Ollama auth
Milofax Dec 1, 2025
7d4c702
chore: Remove unused imports across components
Milofax Dec 1, 2025
230fab6
feat(pdf): Use pymupdf4llm for better PDF text extraction
Milofax Dec 1, 2025
8a28b02
feat(chunking): Improve smart_chunk_text with heading priority and co…
Milofax Dec 1, 2025
ae49504
fix(search): Use multi-dimensional RPC functions for all embedding mo…
Milofax Dec 1, 2025
d880abc
feat(ocr): Add Tesseract OCR fallback for image-based PDFs
Milofax Dec 1, 2025
85e6276
Merge branch 'main' into feature/ollama-support
Milofax Dec 1, 2025
32b5d40
feat(ocr): Add Tesseract OCR support and platform compatibility testing
Milofax Dec 1, 2025
1a9458f
test: Add PDF processing and E2E tests
Milofax Dec 1, 2025
d1e89e3
refactor(rag): Improve embedding service code quality
Milofax Dec 1, 2025
adf65da
chore: Update dependencies for OCR support
Milofax Dec 1, 2025
f180a33
feat(rag): Add embedding model filter and change warning dialog
Milofax Dec 1, 2025
bd55f10
feat(rag): Add re-embed functionality and fix TypeScript errors
Milofax Dec 1, 2025
c173256
test(e2e): Add comprehensive E2E tests for RAG search flow
Milofax Dec 2, 2025
753b549
feat(rag): Improve re-embed service with settings-based batch size an…
Milofax Dec 3, 2025
a965986
feat(upload): Unify PDF upload progress UI to match Web Crawl experience
Milofax Dec 3, 2025
238768a
fix(upload): Fix duplicate cards and card color issues during PDF upload
Milofax Dec 3, 2025
c17e288
fix(code-display): Fix HTML entity rendering in code examples + add E…
Milofax Dec 3, 2025
bcd5998
feat(pdf): Complete PDF enhancement with unified progress UI and OCR …
Milofax Dec 3, 2025
282112d
chore: Restore original CLAUDE.md for upstream PR
Milofax Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 62 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,62 @@ jobs:
name: backend-coverage
token: ${{ secrets.CODECOV_TOKEN }}

# Job 3: Docker Build Test
# Job 3: Multi-Platform Server Build (OCR Dependencies)
# Tests that tesseract-ocr and poppler-utils install correctly on both architectures
platform-compatibility:
name: Platform Compatibility (Server + OCR)
strategy:
matrix:
include:
- runner: ubuntu-latest
platform: linux/amd64
arch: x86_64
- runner: ubuntu-24.04-arm
platform: linux/arm64
arch: ARM64
runs-on: ${{ matrix.runner }}

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build server image (${{ matrix.arch }})
run: |
docker build \
--file python/Dockerfile.server \
--tag archon-server:${{ matrix.arch }} \
--build-arg BUILDKIT_INLINE_CACHE=1 \
python/

- name: Verify OCR dependencies (${{ matrix.arch }})
run: |
echo "🔍 Testing OCR dependencies on ${{ matrix.arch }}..."

# Test tesseract is installed and working
docker run --rm archon-server:${{ matrix.arch }} tesseract --version

# Test poppler-utils (pdftoppm) is installed
docker run --rm archon-server:${{ matrix.arch }} pdftoppm -v

# Test Python imports work
docker run --rm archon-server:${{ matrix.arch }} python -c "
import pytesseract
import pdf2image
print('✅ pytesseract imported successfully')
print('✅ pdf2image imported successfully')
print(f'Tesseract version: {pytesseract.get_tesseract_version()}')
"

echo "✅ All OCR dependencies verified on ${{ matrix.arch }}"

# Job 4: Docker Build Test (all services)
docker-build-test:
name: Docker Build Tests
runs-on: ubuntu-latest

strategy:
matrix:
service: [server, mcp, agents, frontend]
Expand Down Expand Up @@ -241,11 +292,11 @@ jobs:
docker stop test-${{ matrix.service }} || true
docker rm test-${{ matrix.service }} || true

# Job 4: Test Results Summary
# Job 5: Test Results Summary
test-summary:
name: Test Results Summary
runs-on: ubuntu-latest
needs: [frontend-tests, backend-tests, docker-build-test]
needs: [frontend-tests, backend-tests, platform-compatibility, docker-build-test]
if: always()

steps:
Expand Down Expand Up @@ -281,6 +332,13 @@ jobs:
fi
echo "" >> $GITHUB_STEP_SUMMARY

# Platform Compatibility Results
echo "## 🖥️ Platform Compatibility" >> $GITHUB_STEP_SUMMARY
echo "Server image built and OCR dependencies verified on:" >> $GITHUB_STEP_SUMMARY
echo "- **x86_64** (ubuntu-latest)" >> $GITHUB_STEP_SUMMARY
echo "- **ARM64** (ubuntu-24.04-arm)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY

# Docker Build Results
echo "## 🐳 Docker Build Tests" >> $GITHUB_STEP_SUMMARY
echo "Docker build tests completed - check individual job results" >> $GITHUB_STEP_SUMMARY
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,7 @@ UAT/

# Local release notes testing
release-notes-*.md

# Supabase local data
supabase/volumes/
supabase/.temp/
Loading