Commit graph

4 commits

Author SHA1 Message Date
d4d48cad4a feat(classifier): MDL becomes a read-only catalog (MDL ∪ archive) overlay
Reframes the By-MDL tab as a "⊞ Catalog" button that opens an overlay over the
target pane (the left filetree stays the drag source). The catalog is the
de-duplicated union of everything the project knows about a tracking number:
its MDL deliverables AND its archive files, merged by tracking number, with an
informational "Archive revs" column (which revisions already exist) and an "MDL"
flag. Nothing is written or altered — the Revision column is classifier-local
and starts blank (never pre-filled from an old archive rev).

- Drag a source file onto a row → assigns the tracking number only (the mdl
  axis); set the revision in the bulk-editable Revision column (ctrl-shift
  select rows + ctrl-Enter). Per-file Title: MDL/file toggle + ✕ remove kept.
- Columns split the tracking number into the configured pattern fields, each with
  its own autofilter (per-column, via the shared seltable). Default pattern is
  now the 8-field ORIG-PHASE-PROJECT-AREA-DISC-TYPE-SEQ-SUFFIX.
- Server load merges every party's archive/<party>/mdl/*.yaml with a recursive
  walk of the archive documents; local load reads a folder of deliverable yamls.

Test: catalog shows merged archive revisions; drop names a file (tracking only);
bulk revision feeds the derived name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:58:31 -05:00
93f1eb8d63 refactor(seltable): promote to shared/ with per-column autofilters
Move classifier/js/seltable.js → shared/seltable.js so both the classifier and
the tables tool can use it (the MDL realignment splits work across both). Adds
per-column autofilter inputs (one per column, AND-combined) on top of the
programmatic global filter; selection + select-filtered + ctrl-Enter unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:40:56 -05:00
fd11278417 docs: pre-push PII guard + scrub conventions
main history was rewritten once to scrub a leaked work email. Document a
pre-push email guard (grep with a synthetic-domain allowlist; empty = clean) in
AGENTS.md and reference it from CLAUDE.md, plus the post-scrub conventions: no
real personal/work emails (use @example.com), the only real address allowed is
the maintainer contact caseywitt@proton.me, generic personas (admin/alice/sam),
party name Acme. Never push pre-scrub history or stale tags.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:40:56 -05:00
Me Here
2bc582fd9e ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00