cloverleaf-larry/lib
Bryan Johnson 9233d23cda v0.9.12: cl-format-migrate (table/xlate CRLF→LF + native-convert) + cdr/cds/cdd + bare-site shortcuts
New `larry tools cl-format-migrate <dir>`: fixes the "' before prologue start" errors on
Windows-authored tables/xlates whose CRLF line endings choke the Linux Cloverleaf parser
(and Cloverleaf's own hcitblconvert/hcixltconvert). Root cause field-confirmed by Bryan:
`file` shows broken=CRLF/working=LF, both version:6.0 (no format bump) — the stray CR is
read as a bogus char before the prologue keyword.

- Default: strip ONLY trailing CR (sed 's/\r$//'), backup-first via journal.sh, idempotent
  (SKIP already-LF), per-file verify (no trailing CRLF remains + prologue block intact),
  summary report. Bryan proved a CR-stripped table loads clean.
- Opt-in --run-native-convert: chains hcitblconvert/hcixltconvert after a successful strip
  (Cloverleaf's real format bump), resolving the bare name against <site>/Tables|Xlate then
  $HCIROOT/Tables|Xlate, one name per call; separate journal checkpoint so a native-step
  failure auto-rolls-back to the CR-stripped-safe state. Orphan file -> NATIVE_SKIPPED (never
  guesses a site). Default stays strip-only pending Bryan's hcitblconvert-post-strip confirm.
- Unified tbl+xlt (both choke on CRLF identically).
- QoL REPL: cdr->$HCIROOT, cds->$HCIROOT/$HCISITE, cdd->$HCIROOT/$HCISITE/data; bare site name
  -> setsite+cd, first-match-wins ordering so it never shadows an existing command.

Vera CODE-PASS (re-gate after fixing a Major verify defect: _count_cr matched any CR byte ->
false FAILED_VERIFY loop on files with a legitimate mid-line CR; now _count_trailing_cr on
\r$, matching the strip). Own-fixture verified: convert/preserve-mid-line-CR/converge-to-SKIP,
full regression + --run-native-convert mocked suite, bash -n 3.2.57, manifest --check clean.
Live-acceptance: Bryan (Gundersen box; dry-run -> single-file --confirm pilot -> batch).
2026-07-23 13:22:58 -07:00
..
broker.sh fix(broker): default LARRY_BROKER_URL -> https://broker.bjnoela.com + strip Tailscale error verbiage (v0.9.8) 2026-07-23 08:37:22 -07:00
cl-format-migrate.sh v0.9.12: cl-format-migrate (table/xlate CRLF→LF + native-convert) + cdr/cds/cdd + bare-site shortcuts 2026-07-23 13:22:58 -07:00
csv-to-table.sh v0.4.1: each / each-site / len2nl / csv-to-table / table-to-csv 2026-05-26 11:05:19 -07:00
cygwin-safe.sh v0.8.26: harden control-byte sanitize across the tool suite + ssh-helper traps 2026-05-28 16:35:06 -07:00
each-site.sh v0.4.1: each / each-site / len2nl / csv-to-table / table-to-csv 2026-05-26 11:05:19 -07:00
each.sh v0.4.1: each / each-site / len2nl / csv-to-table / table-to-csv 2026-05-26 11:05:19 -07:00
fetch-safe.sh v0.8.11: API-key default rail (OAuth-impersonation off, secure per-client /set-api-key) + manifest-hashing auto-update speedup 2026-05-27 22:40:18 -07:00
headers-sync.sh v0.8.6: work-box → Mac headers.log sync (tsk-2026-05-27-023) 2026-05-27 21:01:54 -07:00
hl7-desanitize.sh v0.8.26: harden control-byte sanitize across the tool suite + ssh-helper traps 2026-05-28 16:35:06 -07:00
hl7-diff-set.sh v0.9.11: hl7-diff-set left/right identification header + cwd-default docs 2026-07-23 12:21:56 -07:00
hl7-diff.sh v0.9.10: hl7-diff-set (batch route-set compare) + hl7-diff --format text readability (F-8) 2026-07-23 11:15:24 -07:00
hl7-field.sh v0.8.26: harden control-byte sanitize across the tool suite + ssh-helper traps 2026-05-28 16:35:06 -07:00
hl7-sanitize.sh v0.9.3: fix F-5 temp-file leak — RETURN trap now cleans both temps (rules_tmp + _norm_tmp); + fail-safe CR-detection comment; MANIFEST regenerated 2026-06-08 11:16:20 -07:00
hl7-schema.sh v0.7.0: HL7-aware tab completion + REPL mouse mode 2026-05-27 16:15:11 -07:00
journal.sh v0.9.7: F-6 — journal_write fail-fast on cp/mv failure (silent write-loss fix) 2026-06-14 12:29:45 -07:00
len2nl.sh v0.4.1: each / each-site / len2nl / csv-to-table / table-to-csv 2026-05-26 11:05:19 -07:00
lessons.sh v0.8.30: write/mutate tool validation pass — 2 fixes; rollback proven reliable 2026-05-28 18:28:21 -07:00
nc-create-thread.sh v0.8.30: write/mutate tool validation pass — 2 fixes; rollback proven reliable 2026-05-28 18:28:21 -07:00
nc-diff-interface.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
nc-document.sh v0.8.26: harden control-byte sanitize across the tool suite + ssh-helper traps 2026-05-28 16:35:06 -07:00
nc-engine.sh v0.9.9: tty-restore + nc-regression -a + hl7-diff len10 framing & F-7 hang fix 2026-07-23 10:17:42 -07:00
nc-find.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
nc-inbound.sh v0.3.0: initial release of Larry-Anywhere 2026-05-26 09:46:20 -07:00
nc-insert-protocol.sh v0.9.7: F-6 — journal_write fail-fast on cp/mv failure (silent write-loss fix) 2026-06-14 12:29:45 -07:00
nc-make-jump.sh v0.9.2: fix F-1/F-2/F-3/F-5 — regression false-PASS, PHI leak, jump guard, MRN match 2026-06-08 10:52:57 -07:00
nc-msgs.sh v0.9.2: fix F-1/F-2/F-3/F-5 — regression false-PASS, PHI leak, jump guard, MRN match 2026-06-08 10:52:57 -07:00
nc-parse.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
nc-paths.sh v0.8.20: nc_paths route-chain tracer — parse-once in-memory engine (84s→0.7s single, ~5.5s full-tree), authoritative destination-block cross-site resolution, v1-fidelity output (site/thread nodes, --> intra-route / ==> cross-site) as default + --format table/nodes, pipe-first (site/thread in, awk field-1 = root). Verified EXACT vs v1 on the real 24-site integrator. 2026-05-28 11:26:31 -07:00
nc-provision-jumps.sh v0.8.32: nc_provision_jumps — capstone inter-server jump-thread provisioner 2026-05-28 19:38:07 -07:00
nc-regression.sh v0.9.9: tty-restore + nc-regression -a + hl7-diff len10 framing & F-7 hang fix 2026-07-23 10:17:42 -07:00
nc-revisions.sh v0.8.27: nc-revisions — NetConfig change-history / revision diff 2026-05-28 16:53:10 -07:00
nc-set-field.sh v0.9.7: F-6 — journal_write fail-fast on cp/mv failure (silent write-loss fix) 2026-06-14 12:29:45 -07:00
nc-smat-diff.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
nc-status.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
nc-table.sh v0.9.7: F-6 — journal_write fail-fast on cp/mv failure (silent write-loss fix) 2026-06-14 12:29:45 -07:00
nc-tclgen.sh v0.8.28: expose 5 lib-only tools + fix nc-engine arg-parsing crash 2026-05-28 17:18:23 -07:00
nc-xlate.sh v0.8.29: read/inspect tool validation pass — 7 portability/correctness fixes 2026-05-28 18:11:22 -07:00
oauth.sh v0.7.5: OAuth CR-taint fix + mouse opt-in + CR-safety sweep 2026-05-27 19:17:48 -07:00
phi-client.sh v0.8.2: Presidio sidecar for free-text NER (tier-5) — closes V1 2026-05-27 20:00:23 -07:00
phi-presidio-sidecar.py v0.8.2: Presidio sidecar for free-text NER (tier-5) — closes V1 2026-05-27 20:00:23 -07:00
phi-sidecar.sh v0.8.2: Presidio sidecar for free-text NER (tier-5) — closes V1 2026-05-27 20:00:23 -07:00
ssh-helper.sh v0.8.26: harden control-byte sanitize across the tool suite + ssh-helper traps 2026-05-28 16:35:06 -07:00
table-to-csv.sh v0.4.1: each / each-site / len2nl / csv-to-table / table-to-csv 2026-05-26 11:05:19 -07:00