Skip to content

Add CSV batch mode, ruff + strict mypy, and CI - #6

Merged
shepherd70 merged 1 commit into
mainfrom
feature/batch-and-quality
Aug 23, 2026
Merged

shepherd70 merged 1 commit into
mainfrom
feature/batch-and-quality

Conversation

@shepherd70

Copy link
Copy Markdown
Owner

Summary

Closes the remaining Milestone PY quality/batch items (only geometries and the v0.1.0 tag remain).

  • Batch mode: fish-screen --batch FILE computes a spec per CSV row (columns mirror the CLI flags; flow_m3s or flow_cfs per row). Unknown columns are rejected so typos don't silently fall back to defaults; row errors are isolated and reported per intake; table or --json output; exit code 2 if any row fails.
  • Quality gates: ruff (E,F,W,I,UP,B) and strict mypy, both clean; GitHub Actions runs lint → type-check → tests via uv on pushes to main and PRs.
  • Python floor 3.9 → 3.10: 3.9 is EOL (Oct 2025) and current mypy no longer targets it.
  • uv.lock committed so CI installs are reproducible (closes the open tracker note).

Test plan

  • uv run pytest: 26/26 passing (was 19) — new test_batch.py covers per-row computation incl. imperial + sensitive-species rows, isolated row errors, unknown-column rejection, table/JSON CLI paths, and exit codes
  • uv run ruff check . and uv run mypy both clean locally; CI runs the same three gates

🤖 Generated with Claude Code

- Batch mode: fish-screen --batch FILE computes a spec per CSV row
  (columns mirror the CLI flags; flow_m3s or flow_cfs per row). Unknown
  columns are rejected so typos don't silently fall back to defaults;
  row errors are isolated and reported per intake; table or --json
  output; exit 2 if any row fails.
- Quality gates: ruff (E,F,W,I,UP,B) and strict mypy, both clean.
  GitHub Actions workflow runs lint, type-check, and tests via uv on
  pushes to main and PRs.
- Python floor raised 3.9 -> 3.10: 3.9 is EOL (Oct 2025) and current
  mypy no longer targets it.
- uv.lock committed so CI installs are reproducible (closes the open
  tracker note).

Tests 19 -> 26, all passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@shepherd70
shepherd70 merged commit 95c1045 into main Aug 23, 2026
@shepherd70
shepherd70 deleted the feature/batch-and-quality branch August 23, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant