smlflg's picture
Initial public upload from Projekte/CodexDashBoard
981aa5d verified
|
Raw History Blame Contribute Delete
1.55 kB

Diff summary

Implemented narrow SQLite DB error visibility coverage and minimal production seam.

Changed files:

  • src/codex_dashboard/codex_data.py
    • Added DataAccessError and DataResult result seam.
    • Added list_threads_result() and list_logs_result() to preserve non-crashing list APIs while exposing schema/data access errors to callers.
    • Added optional DashboardStats.error so stats schema drift is distinguishable from a missing/empty database.
    • Missing DB remains non-error empty/zero state for existing behavior.
  • src/codex_dashboard/app.py
    • Session refresh now uses list_threads_result() and shows Session database error: ... when a DB/schema error is reported.
    • Log refresh now uses list_logs_result() and shows Log database error: ... when a DB/schema error is reported.
  • tests/test_codex_data.py
    • Added failing-first schema drift and malformed row coverage for Codex state.sqlite.
    • Added stats schema drift error visibility coverage.
  • tests/test_logs_data.py
    • Added normal logs_2.sqlite fixture/search coverage.
    • Added logs schema drift error visibility coverage.
  • tests/test_data_error_visibility.py
    • Added AST-level guard that session/log refresh code distinguishes DB errors from empty data.

TDD evidence:

  • Initial focused test run after writing tests failed with missing list_threads_result / list_logs_result imports.
  • After minimal source changes, focused tests passed: 10 passed in 0.08s.
  • Full validation passed: 23 passed in 0.32s; compileall passed.