Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
14 changes: 14 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.git
.venv
venv
data/
node_modules/
frontend/node_modules/
frontend/dist/
.pytest_cache/
.coverage
.coverage.*
htmlcov/
*.pyc
__pycache__/
*.log
2 changes: 1 addition & 1 deletion .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
node-version: 22
cache: 'npm'
cache-dependency-path: frontend/package-lock.json

Expand Down
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ venv/
htmlcov/
*.log
node_modules/
.vitepress/dist/
.vitepress/cache/
dist/
docs/.vitepress/dist/
docs/.vitepress/cache/
/dist/
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Architecture: ContextCortex (v2.17.0)
# Architecture: ContextCortex (v2.17.1)

ContextCortex provides fast, local, syntax-aware semantic and hybrid search over codebases, git repositories, markdown notes, architecture documents, and system documentation. It is built natively on the **Model Context Protocol (MCP) SDK 2.0.0+** using `FastMCP`, with an integrated FastAPI web engine, real-time diagnostic logging, pluggable relational and vector store backends (PostgreSQL 16 with pgvector, Qdrant, ChromaDB, and SQLite), automatic polling daemons, multi-provider webhooks, interactive dependency topology graph explorer, RFC 9728 OAuth 2.1 Protected Resource Server, 3-tier API key RBAC, and a React 19 administrative dashboard.

Expand Down
2 changes: 1 addition & 1 deletion DEVELOPER_DOCS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Developer Documentation: ContextCortex (v2.17.0)
# Developer Documentation: ContextCortex (v2.17.1)

This document provides instructions for developing, testing, configuring, and running ContextCortex locally.

Expand Down
13 changes: 12 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
FROM python:3.11-slim
# Stage 1: Build Frontend
FROM node:22-alpine AS frontend-builder
WORKDIR /app/frontend
RUN apk add --no-cache git
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ ./
RUN npm run build

# Stage 2: Runtime Environment
FROM python:3.11-slim
WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -14,6 +23,8 @@ COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
COPY --from=frontend-builder /app/frontend/dist ./frontend/dist
COPY --from=frontend-builder /app/frontend/dist ./www

EXPOSE 3000

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ContextCortex (v2.17.0)
# ContextCortex (v2.17.1)


[![Build and Publish Docker Image](https://github.com/spelech/contextcortex/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/spelech/contextcortex/actions/workflows/docker-publish.yml)
Expand Down
7 changes: 4 additions & 3 deletions REQUIREMENTS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Software Requirements Specification: ContextCortex (v2.17.0)
# Software Requirements Specification: ContextCortex (v2.17.1)

> **Note:** This document is automatically generated and verified against the live test suite by `scripts/generate_requirements.py` and `tests/backend/test_requirements_sync.py`.

**Test Verification Baseline:** **1032 Automated Tests** (679 Pytest Backend + 303 Vitest Frontend + 50 Playwright E2E).
**Test Verification Baseline:** **1033 Automated Tests** (680 Pytest Backend + 303 Vitest Frontend + 50 Playwright E2E).

---

Expand Down Expand Up @@ -573,10 +573,11 @@ classDiagram
- `test_git_syncer_nonexistent_repo`
- `test_git_progress_tracker_pending_cancellation`

#### `tests/backend/test_health_check_status.py` (3 tests)
#### `tests/backend/test_health_check_status.py` (4 tests)
- `test_api_stats_reports_healthy_when_store_is_healthy`
- `test_api_stats_reports_unhealthy_when_store_fails`
- `test_api_stats_reports_healthy_with_real_embedded_store` - _Verify /admin/api/stats health check against a real embedded Qdrant vector store without mocks._
- `test_main_app_favicon_and_root_redirect` - _Verify root app redirect, favicon routes, and static asset handling._

#### `tests/backend/test_indexer_and_embeddings.py` (25 tests)
- `test_embeddings_generation`
Expand Down
3 changes: 2 additions & 1 deletion app/services/git_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,8 @@ def sanitize_url_for_logging(url: str) -> str:
**os.environ,
"GIT_TERMINAL_PROMPT": "0",
"GIT_ASKPASS": "",
"SSH_ASKPASS": ""
"SSH_ASKPASS": "",
"GIT_CONFIG_PARAMETERS": "'http.https://github.com/.extraheader='",
}

def get_remote_head_sha(
Expand Down
2 changes: 1 addition & 1 deletion docs/TEST_COVERAGE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Test Coverage Report: ContextCortex (v2.17.0)
# Test Coverage Report: ContextCortex (v2.17.1)

This document provides comprehensive test coverage metrics and verification baselines for ContextCortex following the modular architectural restructuring, Codebase Navigator implementation, and test suite expansion.

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/rest-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ All administrative routes are prefixed with `/admin/api`.
```json
{
"status": "ok",
"version": "2.17.0",
"version": "2.17.1",
"database": "connected",
"vector_store": "healthy"
}
Expand Down
Binary file added docs/screenshots/contextcortex-ui-v2.17.1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion frontend/.oxlintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@
"rules": {
"react/rules-of-hooks": "error",
"react/only-export-components": ["warn", { "allowConstantExport": true }]
}
},
"ignorePatterns": ["dist/**"]
}
1 change: 1 addition & 0 deletions frontend/dist/assets/_basePickBy-Cj4iqGU4.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions frontend/dist/assets/_baseUniq-DR4vVjyC.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions frontend/dist/assets/abnfDiagram-O67JEVCF-CQJZpKdi.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions frontend/dist/assets/arc-BJA87daU.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions frontend/dist/assets/architecture-7GRP2DOG-B7cjyaKW.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 36 additions & 0 deletions frontend/dist/assets/architectureDiagram-NJMV4G6O-CQM7JOeV.js

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions frontend/dist/assets/array-BifhSqXX.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Array.prototype.slice;function e(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}export{e as t};
Loading
Loading