ZDDC/classifier/css
ZDDC 0847c7a844 feat(classifier): paste a "current name" column → match files by name
Add a 4th paste column and use it to assign tracking numbers reliably. The old
auto-matcher keyed on "the tracking number appears in the filename" — backwards
for unorganized files that don't yet carry their number. The pasted current name
is an authoritative join key the user already has.

- parsePastedRows: FIXED schema by position — tracking_number · rev (status) ·
  title · current name. Dropped the variant guessing (status-column merge,
  single-filename split); a header row is still skipped, trailing columns may be
  omitted. Rows carry currentName.
- proposeMatches: PRIMARY signal is now the current name (nameScore: exact on the
  normalized, extension-dropped key = conf 1; token-coverage 0.6–0.95; clean
  substring 0.7), FALLBACK is the old tracking-in-filename heuristic for rows
  without a current name. Each proposal carries `auto` — true only for an exact
  1:1 match (unique conf-1 for both its file and its row), the only kind safe to
  assign unprompted. Duplicate names → not auto.
- Paste dialog: 4th preview column; on Add, exact 1:1 matches are auto-assigned
  and a summary toast points to Match names for the rest. Match dialog pre-checks
  only the exact matches, shows confidence + name/tracking#, flags the review-only
  ones. New read-only "Current name" column in the worklist table.

Tests: fixed-schema parse, current-name exact(auto)+token match, ambiguous
duplicate (not auto), and the tracking fallback still holds. Suite 342 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 08:52:48 -05:00
..
base.css ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
layout.css feat(classifier): paste a "current name" column → match files by name 2026-06-15 08:52:48 -05:00
spreadsheet.css ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00