You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge origin/master into feat/typed-models-schema-validation-24
Resolves three conflicts in scripts/export.py, all the result of PR #35
(linter cleanup) landing on master while PR #30 was open:
1. Line 41 import block — master added `# noqa: E402` to the existing
`cursor_md_exporter` import; this branch added `ExportEntry,
SchemaError` from `models`. Kept both: the new import also gets
`# noqa: E402` so the linter discipline is consistent.
2. Manifest writer (local) at the `for e in exported:` loop — master
renamed the loop variable to `entry` (to dodge a mypy
`Assignment to variable "e" outside except: block` clash); this
branch added `title` + `workspace` fields to each manifest row.
Kept master's `entry` rename + this branch's wider schema.
3. Manifest writer (global) — same shape as #2, resolved identically.
Plus one secondary fix in tests/test_models.py: master removed
`continue-on-error: true` from the mypy CI step, so the stricter gate
now flags 5 `var-annotated` errors in this branch's test file (loop
variables iterating heterogeneous tuples). Fixed by hoisting each
tuple into a typed local — `bad_ids: tuple[object, ...] = (...)` —
matching the pattern this same file already uses at line 180.
Verified locally on the merged tree:
- mypy --ignore-missing-imports --no-strict-optional . → Success
- ruff check api/ utils/ scripts/export.py app.py → All checks passed
- unittest discover tests → 223 / 223 OK
- python app.py boot smoke → HTTP 200, no errors
print(f"CLI: could not read session {session_id}: {e}")
887
+
exceptException: # noqa: BLE001 — best-effort per-session skip; one corrupted session must not 500 the endpoint, and the failure mode is logged with exc_info so the concrete type is preserved.
888
+
_logger.warning("CLI: could not read session %s", session_id, exc_info=True)
print(f"Error parsing composer data for {composer_id}: {e}")
1422
+
exceptException: # noqa: BLE001 — best-effort per-composer skip in a read-many loop; one malformed row must not 500 the tabs endpoint, and exc_info captures the concrete type for debugging.
1423
+
_logger.warning("Error parsing composer data for %s", composer_id, exc_info=True)
1423
1424
1424
1425
# Sort tabs by timestamp descending (newest first)
0 commit comments