How sonawaneganes/continuityos works
ContinuityOS turns project documents into evidence-linked handover claims, checks those claims for readiness gaps, and lets a team review and approve the handover. The main path is document upload, text parsing, AI claim extraction, quote verification, persistence, gap analysis, and review through the frontend API. The README also documents project creation and approval. Frontend component wiring and some route internals were not sampled, so those connections are omitted; documented HTTP endpoints and shown backend calls support the edges below.
Main entry points: api.js API client · upload.py Project and upload routes · main.py FastAPI application · gaps.py Gap route
Components 21
Handover workspace
- Workspace UI
frontend/src/App.jsx - API client
frontend/src/api.js - Gap panel
frontend/src/components/GapPanel.jsx - Source viewer
frontend/src/components/SourceViewer.jsx - Evidence badge
frontend/src/components/LabelBadge.jsx - Claim timeline
frontend/src/components/Timeline.jsx - Export control
frontend/src/components/ExportButton.jsx - Web entry
frontend/src/main.jsx
API and workflow
- FastAPI application
backend/app/main.py - Project and upload routes
backend/app/routes/upload.py - Claim routes
backend/app/routes/claims.py - Gap route
backend/app/routes/gaps.py - Approval route
backend/app/routes/handover.py
Evidence ingestion
- Document parser
backend/app/services/parser.py - Claim extractor
backend/app/services/extractor.py - Claim schemas
backend/app/services/schemas.py - Quote verifier
backend/app/services/verifier.py
Claims and readiness
- Readiness checks
backend/app/services/gaps.py - Project data models
backend/app/models.py - PostgreSQL store
backend/app/database.py
Other components
- Project team
Connections 26
- Project team → Workspace UI: reviews handover
README.md - Web entry → Workspace UI: renders
frontend/src/main.jsx - Workspace UI → API client: requests data
- Gap panel → API client: loads gaps
frontend/src/components/GapPanel.jsx - Source viewer → API client: loads sources
frontend/src/components/SourceViewer.jsx - Gap panel → Evidence badge: displays labels
frontend/src/components/GapPanel.jsx - Source viewer → Evidence badge: displays labels
frontend/src/components/SourceViewer.jsx - API client → Project and upload routes: uploads documents
frontend/src/api.js - API client → Claim routes: requests claims
frontend/src/api.js - API client → Gap route: requests gaps
frontend/src/api.js - API client → Approval route: requests approval
frontend/src/api.js - FastAPI application → Project and upload routes: registers routes
backend/app/main.py - FastAPI application → Claim routes: registers routes
backend/app/main.py - FastAPI application → Gap route: registers routes
backend/app/main.py - FastAPI application → Approval route: registers routes
backend/app/main.py - Project and upload routes → Document parser: parses upload
backend/app/routes/upload.py - Project and upload routes → Claim extractor: extracts claims
backend/app/routes/upload.py - Project and upload routes → Quote verifier: verifies quotes
backend/app/routes/upload.py - Claim extractor → Claim schemas: validates claims
backend/app/services/extractor.py - Project and upload routes → Project data models: saves documents and claims
backend/app/routes/upload.py - Claim routes → Project data models: reads claims and sources
backend/app/routes/claims.py - Gap route → Project data models: loads and labels claims
backend/app/routes/gaps.py - Gap route → Readiness checks: runs checks
backend/app/routes/gaps.py - Project data models → PostgreSQL store: uses base
backend/app/models.py - FastAPI application → PostgreSQL store: creates tables
backend/app/main.py - Approval route → Readiness checks: uses readiness checks
backend/app/routes/handover.py