The branch protection requires a status check named 'Tests', but
GitHub reports checks using job names, not the workflow name. The
summary job was named 'All Checks Complete' which never satisfied
the required check, leaving PRs permanently stuck as 'Expected —
Waiting for status to be reported'.
Fix: rename the summary job from 'All Checks Complete' to 'Tests'
so it matches the required status check exactly.
tomllib is only available in Python 3.11+, but the release workflow
runs on Python 3.10. Replace with grep/sed which works everywhere.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The GitHub release was showing v3.1.3 instead of v3.2.0 because:
1. No explicit `name` was set on the GitHub release action, relying on
defaults that could be unreliable
2. The sed command for extracting release notes used unescaped dots in
the version regex, which could match wrong versions
3. No fallback if release notes extraction produced an empty file
Changes:
- Add explicit `name` and `tag_name` to softprops/action-gh-release
- Add version consistency check (tag vs pyproject.toml vs package)
- Escape dots in sed regex for exact version matching
- Add fallback when release notes extraction produces empty output
https://claude.ai/code/session_015hYfpKhFH3GSMVSKgA4JVd
- Filter out chunks smaller than min_chunk_size (default 100 tokens)
- Exception: Keep all chunks if entire document is smaller than target size
- All 15 tests passing (100% pass rate)
Fixes edge case where very small chunks (e.g., 'Short.' = 6 chars) were
being created despite min_chunk_size=100 setting.
Test: pytest tests/test_rag_chunker.py -v
The uv installer puts the binary in ~/.local/bin but the workflow was
adding ~/.cargo/bin to PATH, causing 'uv: command not found' errors.
Fixed bootstrap E2E tests failing on Python 3.10 and 3.11.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The lint job was failing with 'ruff: command not found' because
dependency-groups in pyproject.toml require newer pip/setuptools to work.
Install ruff and mypy directly before installing the package to ensure
they're available for the linting steps.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fix bootstrap test failures in CI by installing uv package manager.
The bootstrap script (scripts/bootstrap_skill.sh) requires uv to run,
which was causing 7 bootstrap E2E tests to fail in CI with:
'uv: command not found'
Changes:
- Install uv via official installer (works on Ubuntu & macOS)
- Add uv to PATH for subsequent steps
This resolves the failing tests from PR #251 merge.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fix test failure for test_cli_all_flag_lists_configs by ensuring
api/configs_repo submodule is initialized during checkout.
The test expects configs in api/configs_repo/official/ but the
submodule was not being initialized, causing the directory to be
empty and the test to fail.
Related:
- Commit 1cbb8fe: Added api/configs_repo as git submodule
- Commit f5f37f6: Updated render.yaml for Render deployment
This completes the submodule integration for both:
- Production (Render API deployment)
- CI/CD (GitHub Actions tests)
Fixes: FAILED tests/test_estimate_pages.py::TestEstimatePagesCLI::test_cli_all_flag_lists_configs
- Add pip install -e . to install package in editable mode
- Update coverage path from cli/ to src/skill_seekers/
- Required for tests to import skill_seekers module
Fixes CI test failures: ModuleNotFoundError: No module named 'skill_seekers'
- Changed from manual pip install to using requirements.txt
- Fixed mcp/requirements.txt -> skill_seeker_mcp/requirements.txt
- This ensures all dependencies (including httpx) are installed
Fixes the v2.0.0 tag Release workflow failure
Fix test failures in CI by updating dependencies installation:
- Install from requirements.txt (includes httpx for async support)
- Update path: mcp/ → skill_seeker_mcp/
- Fix coverage command to use correct package name
Fixes ModuleNotFoundError: No module named 'httpx' in CI
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Adds 'tests-complete' summary job that:
- Provides single status check for branch protection
- Only passes when all matrix tests succeed
- Fixes "Tests" check always showing as pending
- Resolves PR merge blocking issue
This ensures PRs can auto-merge once all 5 matrix jobs pass.
Changed:
- tests.yml: Run on 'development' instead of 'dev'
- Triggers on push to: main, development
- Triggers on PRs to: main, development
This ensures:
✅ All PRs to development run tests
✅ Pushes to development run tests
✅ Branch protection can require 'Tests' check
✅ CI works with new two-branch workflow
Related: Two-branch workflow setup
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Problem:
- Release workflow failing with "Resource not accessible by integration"
- Missing permissions for GITHUB_TOKEN to create releases
- Workflow tried to create releases that already exist manually
Fix:
1. Added `permissions: contents: write` at workflow level
- Grants GITHUB_TOKEN permission to create/edit releases
- Required for softprops/action-gh-release@v1
2. Added release existence check before creation
- Prevents errors when release already exists
- Skips creation gracefully with informative message
- Useful for manually created releases (like v1.1.0)
Changes:
- Line 8-9: Added permissions section
- Line 48-57: Check if release exists with gh CLI
- Line 59-60: Only create if release doesn't exist
- Line 69-73: Skip message when release already exists
This allows:
- Automatic release creation on new tags
- Manual release creation without workflow conflicts
- Proper error handling and user feedback
Related: GitHub Actions permissions model
https://docs.github.com/en/actions/security-guides/automatic-token-authentication🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The MCP package requires Python 3.10 or higher. Updated:
- GitHub Actions workflow to test Python 3.10, 3.11, 3.12
- README.md badge to Python 3.10+
- CLAUDE.md prerequisites
- CONTRIBUTING.md prerequisites
- docs/MCP_SETUP.md prerequisites
This fixes the MCP installation error in CI:
'ERROR: No matching distribution found for mcp>=1.0.0'
MCP package versions 0.9.1+ all require Python 3.10+.
Infrastructure:
- Add GitHub Actions workflows (tests.yml, release.yml)
- Add CHANGELOG.md with full version history
- Add CONTRIBUTING.md with contribution guidelines
- Add RELEASE_NOTES_v1.0.0.md for v1.0.0 release
Documentation:
- Update README.md with version badge (v1.0.0)
- Update test count badge (14 tests)
- Add links to new documentation files
Features:
- CI/CD pipeline with automated testing
- Multi-OS testing (Ubuntu, macOS)
- Multi-Python version testing (3.7-3.11)
- Automated release creation on tag push
- Code coverage reporting
This completes the v1.0.0 production release setup.