Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 5.75 KB

File metadata and controls

68 lines (53 loc) · 5.75 KB

Fieldnotes Progress Tracker

Version: 1.0.0-beta.1 Last reconciled: 2026-08-13

Status dashboard

Phase Scope Status Evidence
0 Configuration, startup, contract documentation ✅ complete scripts/exit_phase0.py PASS: configuration, startup, health, fake mode, live validation, Responses configuration.
1 Workspace indexing and persistence ✅ complete scripts/exit_phase1.py PASS; indexing, retrieval, ask, quiz, artifacts, citation integrity, and source reopening are exercised. backend/main.py exposes get_workspace_manager(), get_run_manager(), and get_workspace_repository_for_manager() dependency providers, so workspace/run/repository state can be overridden in tests without touching route logic.
2 Local retrieval and grounded execution ✅ complete BM25/vector/hybrid retrieval, reranking, planner/executor, local sandbox, artifacts, telemetry, and regression coverage are in runtime. Citation chips require a minimum confidence threshold, so zero-score fallback passages never surface as conf=0.00 citations. Study-plan scheduling caps the horizon to avoid plan-item explosion on far-future exam dates.
3 Production frontend ✅ complete React workspace, streaming chat, citations, notebook, quiz, source viewer, developer diagnostics, teacher dashboard, and progress tracking are implemented.
4 Study loop ✅ complete Briefs, quiz attempts, concept updates, notebook artifacts, citation reopening, and study-progress aggregation (quiz history, concepts mastered, streaks) are persisted and surfaced in the UI.
5 Release hardening and beta validation 🟡 in progress Release and benchmark scripts, demo workspace, onboarding, troubleshooting, and known issues exist. Cross-platform release verification and external beta evidence remain.
6 Auth and roles ✅ complete Backend JWT/OAuth (Google/GitHub), cookie sessions, CSRF, and workspace roles (owner, teacher, student, viewer) enforced by assert_workspace_access. Frontend login/signup screen gates the workspace shell; session state lives in frontend/src/lib/appState.
7 Extensions (imports, voice, OCR, offline, i18n) ✅ complete GitHub/YouTube/Google Docs/OpenAlex/arXiv importers; speech-to-text + TTS; Tesseract OCR image ingestion; offline service worker; i18n (en+es) scaffolding. See "Feature status" below.
8 Public submission ⬜ not started Not a repository implementation task.

Verification record

Date Command Result
2026-08-13 FIELDNOTES_USE_FAKE_LLM=1 python -m unittest discover -s tests Ran 177 tests / OK (skipped=3)
2026-08-13 cd frontend && npm test 5 files / 26 tests PASS (including axe accessibility)
2026-08-13 cd frontend && npm run build PASS
2026-08-07 FIELDNOTES_USE_FAKE_LLM=1 python -m unittest discover -s tests Ran 172 tests / OK (skipped=3)
2026-07-21 FIELDNOTES_USE_FAKE_LLM=1 python -m unittest discover -s tests Ran 135 tests in 45.681s / OK (skipped=4)
2026-07-20 .venv312/bin/python scripts/exit_phase0.py PASS (7 checks, live probe skipped without credentials)
2026-07-20 .venv312/bin/python scripts/exit_phase1.py PASS (10 checks)

Open release work

  • Validate scripts/release_check.py in a Python environment where npm is discoverable on PATH.
  • Complete external beta feedback and platform evidence before declaring a stable 1.0.0 release.
  • The Vercel check is satisfied via vercel.json scoped to frontend/ static build; Render (render.yaml) remains the primary deploy target.

Auth / roles status

Backend pieces:

  • backend/auth/ — JWT (jwt.py), OAuth (oauth.py), cookies (cookies.py), dependencies (dependencies.py), security (security.py).
  • Roles: owner, teacher, student, viewer enforced via assert_workspace_access across ask/quiz/notebook/study/flashcard/integration/teacher routes.
  • Local mode (no FIELDNOTES_AUTH_ENABLED=1) still runs as synthetic single-user local owner.

Frontend pieces:

  • Login/signup screen (frontend/src/components/LoginScreen.tsx) wired to existing OAuth + JWT cookie flow; gates the app shell when auth is enabled and unauthenticated.
  • Session state in frontend/src/lib/appState (auth status refresh on mount, login/logout handlers).
  • Teacher dashboard (frontend/src/routes/TeacherDashboardRoute.tsx) lists owned/taught workspaces, students, class progress, and bulk share (viewer/student role grants).
  • Progress tracking UI (frontend/src/routes/StudyProgressRoute.tsx) surfaces quiz history, concepts mastered, streaks, and topic mastery.

Feature status (phase 7 extensions)

Feature Status Notes
Teacher dashboard + classroom sharing backend/routers/teacher.py + frontend/src/routes/TeacherDashboardRoute.tsx
Progress tracking UI /study-progress now returns quiz_history + concepts_mastered; dashboard renders them
GitHub importer README/raw-file fetch via repo API, backend/services/importers.py
YouTube transcript importer Captions API ingestion to local .txt
Google Docs importer Export via existing Google OAuth Drive token
OpenAlex / arXiv search + PDF fetch Search endpoints + arXiv PDF download into workspace
Voice mode Web Speech API STT on composer; TTS "Speak" per answer
OCR for handwritten notes Tesseract (pytesseract) image parser with graceful fallback; requires tesseract binary
Offline service worker frontend/public/sw.js caches shell + last-loaded workspace data (read-only)
i18n scaffolding react-i18next with English + Spanish; language toggle in header and login screen

No completed implementation phase is marked as not started.