Skip to content

Add geometry columns to batch CSV mode - #9

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

shepherd70 merged 1 commit into
mainfrom
feature/batch-geometry

Conversation

@shepherd70

Copy link
Copy Markdown
Owner

Summary

Closes the last open Python-package tracker item. Batch CSV rows may now carry geometry, dim_D/dim_L/dim_W1/dim_W2/dim_r (metres), solve_for, and units — the same solve-or-check semantics as the single-intake --geometry flags, applied per row against that row's required gross area.

  • Geometry-only columns without a geometry value are rejected per row (typo protection, consistent with the unknown-column guard).
  • Shapes ignore dim_* columns they don't use, so one wide CSV can mix shapes.
  • Table output gains a geometry column (solved dimension, provided area, PASS/FAIL); --json rows gain a nested geometry object.
  • Row errors remain isolated: a bad shape or non-integer units fails that row only.

Test plan

  • uv run pytest: 45/45 passing (was 42) — solve + check + no-geometry rows, per-row error isolation (unknown shape, bad units, orphan dims), table and JSON output
  • uv run ruff check . / uv run mypy clean; smoke-tested the table output against a mixed-shape CSV

🤖 Generated with Claude Code

Rows may now carry geometry, dim_D/dim_L/dim_W1/dim_W2/dim_r (metres),
solve_for, and units — the same solve-or-check semantics as the
single-intake --geometry flags, applied per row against that row's
required gross area. Geometry-only columns without a geometry are
rejected per row; shapes ignore dim_* columns they don't use, so one
wide CSV can mix shapes. Table output gains a geometry column
(solved dimension + provided area + PASS/FAIL); JSON rows gain a
nested geometry object. Row errors stay isolated.

Tests 42 -> 45.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@shepherd70
shepherd70 merged commit 75e2bf9 into main Aug 23, 2026
@shepherd70
shepherd70 deleted the feature/batch-geometry branch August 23, 2026 17:30
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