Skip to content

Fix HTML assessment validity, optimizer consistency, and session safety - #13

Merged
shepherd70 merged 1 commit into
mainfrom
fix/html-tool-hardening
Sep 18, 2026
Merged

shepherd70 merged 1 commit into
mainfrom
fix/html-tool-hardening

Conversation

@shepherd70

Copy link
Copy Markdown
Owner

The HTML tool could report PASS for malformed inputs or unsupported velocity claims, recommend designs that failed intake checks, and partially overwrite a session when loading invalid JSON. This implements the fixes from the UI review in #12.

  • Introduce explicit assessment states, strict shared validation, and velocity evidence requirements. Fresh examples remain unassessed until confirmed; screen and print use the same verdict rules.
  • Evaluate optimizer candidates against every intake check, preserve fixed/displayed dimensions, and preview changes before Apply.
  • Validate saved sessions before replacing live state; persist checklist answers; align CSV parsing with Python using a shared fixture. Convert flow units, identify product snapshots, and provide deletion undo.
  • Add input labels, field error associations, live status messages, focus preservation, responsive layouts, consistent decimals, and improved PDF pagination.
  • Add Node and Playwright regression coverage and CI jobs; keep the distributed HTML self-contained and offline.

Validation: 46 Python tests, 34 JavaScript regression cases, and 13 Chromium browser workflows passed locally; ruff and strict mypy passed. Browser coverage includes save/load rollback, optimizer Apply, product undo, keyboard sizing/save, French locale, 320/390/640 px layouts, 200% CSS scaling, and default/assessed/multi-intake PDFs. The default Letter report is five pages instead of six. The affected print workflows were rerun after the final pagination fix.

Browser validation used Chromium; other engines and a human screen-reader session remain unverified.

@shepherd70
shepherd70 merged commit 0404b1f into main Sep 18, 2026
5 checks passed
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