Skip to content

Next Steps - CBIndex

Last updated: 2026-01-23

GitHub Issues

No open issues assigned. Repository: Nominate-AI/cbindex


Tech Debt (from Maintenance Report)

1. Fix datetime.utcnow() Deprecation

Priority: Medium
Effort: Low (30 min)

Replace deprecated datetime.utcnow() with datetime.now(datetime.UTC) in:

app/workspace/storage.py:95
app/chat/index_storage.py:92
app/chat/conversation_storage.py:70
app/chat/conversation_storage.py:113

Fix pattern:

# Before
from datetime import datetime
manifest.updated_at = datetime.utcnow()

# After
from datetime import datetime, UTC
manifest.updated_at = datetime.now(UTC)

2. Consider PyPDF2 → pypdf Migration

Priority: Low
Effort: Medium

PyPDF2 is deprecated. Consider migrating to pypdf when convenient. This affects the vendored extern/PageIndex/ library, so coordinate with upstream.


Potential Improvements

API Enhancements

  • Add /api/v1/health alias (keep /health for backwards compatibility)
  • Add contact and license_info to FastAPI app metadata
  • Add rate limiting for public deployments

Testing

  • Organize tests into unit/ and integration/ subdirectories if suite grows
  • Add test coverage reporting to CI
  • Add integration tests for actual document indexing (requires API key)

Documentation

  • Add README.md to project root (currently only CLAUDE.md)
  • Add usage examples to docs/
  • Set up MkDocs for hosted documentation

DevOps

  • Add GitHub Actions CI workflow
  • Add Docker/docker-compose for containerized deployment
  • Add NGINX config example for production deployment

Quick Start for Next Session

# Activate environment
cd /home/bisenbek/projects/nominate/cbindex
source ~/.pyenv/versions/nominates/bin/activate

# Verify everything works
pytest -q
ruff check .

# Start the server
uvicorn app.main:app --reload --port 32214

Current State

Metric Status
Version 0.3.1
Tests 81 passing
Linting Clean
Pre-commit Configured
Last Maintenance 2026-01-23