Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
f7aed07
resolve conflicts
Sahilbhatane Jan 15, 2026
63ff56c
suggestion fix
Sahilbhatane Dec 8, 2025
ebdf74e
Test fix and automation security fix
Sahilbhatane Dec 14, 2025
56ee2ed
Fix: make tests Windows-compatible
Sahilbhatane Dec 18, 2025
796ba2b
chore: address static analysis findings
Sahilbhatane Dec 19, 2025
d02beaa
cnsversation resolved, plus add changes
Sahilbhatane Jan 2, 2026
be90d44
test fixs
Sahilbhatane Jan 2, 2026
2630f4e
No automation needed for QL
Sahilbhatane Jan 2, 2026
a11aa3b
Remove duplicate import of CortexCLI
Sahilbhatane Jan 2, 2026
073aa02
style: fix import ordering in dashboard.py
Sahilbhatane Jan 5, 2026
30cfca5
security: pin GitHub Actions to full commit hashes
Sahilbhatane Jan 5, 2026
02cef20
resolve suggestion
Sahilbhatane Jan 5, 2026
f315f52
Confirmation prompt for install in TUI dashboard
Sahilbhatane Jan 8, 2026
a932ccf
Fix suggestions and restre security file
Sahilbhatane Jan 10, 2026
23cf916
Linting
Sahilbhatane Jan 10, 2026
86e6f98
fix suggestions
Sahilbhatane Jan 10, 2026
6046e86
Suggestion fix
Sahilbhatane Jan 11, 2026
250caec
Revert automation.yml changes from PR — restore original file from main
Sahilbhatane Jan 11, 2026
4dce981
Suggestion fix
Sahilbhatane Jan 12, 2026
412efa8
lint fix
Sahilbhatane Jan 12, 2026
ec6af22
chore: apply black formatting and fix import ordering
Sahilbhatane Jan 15, 2026
b17f976
Merge branch 'main' into issue-244
Sahilbhatane Jan 15, 2026
b0cf251
chore: Update to BSL 1.1 license (4-year Apache 2.0 conversion)
mikejmorgan-ai Jan 15, 2026
8046619
refactor: type hints and imports across multiple modules (#611)
Anshgrover23 Jan 15, 2026
9cf0667
feat(ci): add stale PR management workflow (#613)
Anshgrover23 Jan 15, 2026
bcc35e2
ci: add autofix.ci workflow for automatic formatting fixes (#614)
Anshgrover23 Jan 15, 2026
8e65faf
test: Add comprehensive tests for licensing module (#616)
mikejmorgan-ai Jan 16, 2026
36450f6
Merge pull request #618 from Anshgrover23/fix/autofix-ci-cla-and-lint
Anshgrover23 Jan 16, 2026
840c282
resolve conflicts
Sahilbhatane Jan 15, 2026
f5e3502
suggestion fix
Sahilbhatane Dec 8, 2025
b6505d6
Test fix and automation security fix
Sahilbhatane Dec 14, 2025
f9e7d8e
Fix: make tests Windows-compatible
Sahilbhatane Dec 18, 2025
a82ff80
chore: address static analysis findings
Sahilbhatane Dec 19, 2025
cbdcecd
cnsversation resolved, plus add changes
Sahilbhatane Jan 2, 2026
e2cbd6c
test fixs
Sahilbhatane Jan 2, 2026
e02cf73
No automation needed for QL
Sahilbhatane Jan 2, 2026
b484934
Remove duplicate import of CortexCLI
Sahilbhatane Jan 2, 2026
37b61af
style: fix import ordering in dashboard.py
Sahilbhatane Jan 5, 2026
c19ce5c
security: pin GitHub Actions to full commit hashes
Sahilbhatane Jan 5, 2026
b3a4910
resolve suggestion
Sahilbhatane Jan 5, 2026
dd5d6c1
Confirmation prompt for install in TUI dashboard
Sahilbhatane Jan 8, 2026
ec07b1c
Fix suggestions and restre security file
Sahilbhatane Jan 10, 2026
7c198a4
Linting
Sahilbhatane Jan 10, 2026
bb8bb71
fix suggestions
Sahilbhatane Jan 10, 2026
daedde2
Suggestion fix
Sahilbhatane Jan 11, 2026
f1617a2
Revert automation.yml changes from PR — restore original file from main
Sahilbhatane Jan 11, 2026
53d4114
Suggestion fix
Sahilbhatane Jan 12, 2026
397b6a0
lint fix
Sahilbhatane Jan 12, 2026
7d2b186
rebase
Sahilbhatane Jan 16, 2026
1a45552
Merge branch 'issue-244' of https://github.com/Sahilbhatane/cortex in…
Sahilbhatane Jan 16, 2026
46f72d3
fix: handle psutil import gracefully to allow test collection in CI
Sahilbhatane Jan 16, 2026
58f06e9
Fix errors and resolve conversations
Sahilbhatane Jan 16, 2026
76416cb
[autofix.ci] apply automated fixes
autofix-ci[bot] Jan 16, 2026
f56e3c7
Coverage for test
Sahilbhatane Jan 16, 2026
f6ac52e
[autofix.ci] apply automated fixes
autofix-ci[bot] Jan 16, 2026
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
1 change: 1 addition & 0 deletions .github/scripts/cla_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ def main():

# Allowlist for bots
bot_patterns = [
"autofix-ci",
"dependabot",
"github-actions",
"renovate",
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: autofix.ci

on:
push:
branches: [main]
pull_request:
branches: [main]

permissions:
contents: read

jobs:
autofix:
name: Auto-fix formatting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install formatters
run: |
python -m pip install -U pip
pip install ruff black isort
- name: Fix with ruff
run: ruff check . --fix || true

- name: Format with black
run: black . --exclude "(venv|\.venv|build|dist)" --line-length 100

- name: Sort imports with isort
run: isort . --profile black --line-length 100

- name: Apply autofix
uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
138 changes: 74 additions & 64 deletions .github/workflows/automation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,86 +14,96 @@ jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Run tests
env:
ANTHROPIC_API_KEY: "test-key-for-ci"
OPENAI_API_KEY: "test-key-for-ci"
run: |
python -m pytest tests/ -v --cov=cortex --cov-report=xml --cov-report=term-missing --timeout=60

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
if: matrix.python-version == '3.11'
with:
file: ./coverage.xml
fail_ci_if_error: false
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('requirements*.txt') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
${{ runner.os }}-pip-

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev]"

- name: Run tests
env:
ANTHROPIC_API_KEY: "test-key-for-ci"
OPENAI_API_KEY: "test-key-for-ci"
run: |
python -m pytest tests/ -v --cov=cortex --cov-report=xml --cov-report=term-missing --timeout=60 --ignore=tests/integration

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
if: matrix.python-version == '3.11'
with:
file: ./coverage.xml
fail_ci_if_error: false

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.11'
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install linting tools
run: |
python -m pip install --upgrade pip
pip install ruff black mypy
- name: Install linting tools
run: |
python -m pip install --upgrade pip
pip install ruff black mypy

- name: Lint with ruff
run: |
ruff check . --output-format=github
- name: Lint with ruff
run: |
ruff check . --output-format=github

- name: Check formatting with black
run: |
black --check . --exclude "(venv|\.venv|build|dist)"
- name: Check formatting with black
run: |
black --check . --exclude "(venv|\\.venv|build|dist|myenv)"

- name: Type check with mypy
run: |
mypy cortex --ignore-missing-imports --no-error-summary || true
continue-on-error: true
- name: Type check with mypy
run: |
mypy cortex --ignore-missing-imports --no-error-summary || true
continue-on-error: true

security:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.11'

- name: Install security tools
run: |
python -m pip install --upgrade pip
pip install bandit safety

- name: Run Bandit security linter
run: |
bandit -r cortex/ -ll -ii || echo "::warning::Security issues found. Please review."

- name: Check dependencies with safety
run: |
pip install -e ".[dev]"
safety check --full-report || echo "::warning::Vulnerable dependencies found."
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install security tools
run: |
python -m pip install --upgrade pip
pip install bandit safety

- name: Run Bandit security linter
run: |
bandit -r cortex/ -ll -ii || echo "::warning::Security issues found. Please review."

- name: Check dependencies with safety
run: |
pip install -e ".[dev]"
safety check --full-report || echo "::warning::Vulnerable dependencies found."
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
run: ruff check . --output-format=github

- name: Check formatting with black
run: black --check . --exclude "(venv|\.venv|build|dist)"
run: black --check . --exclude "(venv|\.venv|build|dist|myenv)"

- name: Type check with mypy
run: mypy cortex --ignore-missing-imports --no-error-summary || true
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: 'Stale PR Management'

on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight UTC

jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v9
with:
# PR settings: warn at 7 days, close at 14 days total
days-before-pr-stale: 7
days-before-pr-close: 7

stale-pr-label: 'state: inactive'

stale-pr-message: |
Action required: PR inactive for 7 days.
Status update or closure in 7 days.

close-pr-message: |
PR closed after 14 days of inactivity.

# Issue settings: disable for issues (only handle PRs)
days-before-issue-stale: -1
days-before-issue-close: -1

# Exempt draft PRs and certain labels
exempt-draft-pr: true
exempt-pr-labels: 'work-in-progress,do-not-close'

repo-token: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ dmypy.json
# ==============================
.vscode/
.idea/
.cursor/
.spyproject/
.ropeproject/
.sublime-project
Expand Down
Loading
Loading