Commit Graph

5 Commits

Author SHA1 Message Date
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
4828862a8e v0.9.10: hl7-diff-set (batch route-set compare) + hl7-diff --format text readability (F-8)
- hl7-diff-set: compare a whole set of Windows-vs-Linux regression outputs in one
  command — takes two prefixes (+ optional --dir), auto-discovers routes by glob,
  runs hl7-diff per pair (--framing auto --ignore MSH.7, overridable), reports
  per-route PASS/DIFF/MISSING/EXTRA + summary, exit 0 iff all clean (MISSING and
  EXTRA both count as regressions). No more hand-written for-loop with hardcoded names.
- F-8: hl7-diff --format text now shows SEG.FIELD left='...' right='...' with visible
  (empty)/<absent> tokens so a dropped component (e.g. Linux MSH.9.3 absent vs Windows
  ADT_A02) is obvious without opening the message files; --------- message N header now
  uses the real message index (was a stale counter). tsv/count formats unchanged.

Consolidated by Clover; Vera CODE-PASS (Deliverables/2026-07-23-cloverleaf-larry-v0910-hl7-diff-set.md) — own-fixture verification of all route classifications + the absent-token render + F-7 no-hang. Live-acceptance = Bryan's regression run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 11:15:24 -07:00
Clover
400398ca7d v0.9.6: help canonical + prefix-free short commands (nc-find→nfind guard) + HCISITEDIR auto-init
Hands-on ergonomics for Bryan's Gundersen testing. All three changes are
backward-compatible — every old name still works.

1. `help` is now the canonical reference command (live, never-drifts table
   from bin/ + each tool's help block). `cheat` kept as a thin alias.

2. Prefix-free short commands: nc-table→table, nc-parse→parse, nc-msgs→msgs,
   nc-status→status, nc-engine→engine, nc-xlate→xlate, nc-inbound→inbound, plus
   the write tools (create-thread, set-field, insert-protocol, make-jump,
   provision-jumps, tclgen, document, revisions, diff-interface, smat-diff,
   regression). COLLISION GUARD: nc-find→`nfind` (NOT `find` — would shadow the
   system find on PATH); nc-paths keeps `paths`. Every nc-* name retained as a
   backward-compat alias. Tab-completion + the help/cheat table updated.

3. HCISITEDIR auto-init in the shared preflight (bin/_nc_common.sh): HCIROOT +
   HCISITE still required, but $HCIROOT/$HCISITE is created if missing rather
   than erroring. Conservative + idempotent; respects an operator-set HCISITEDIR.

VERSION→0.9.6, MANIFEST regenerated (--check clean), bash -n clean.

Co-Authored-By: Clover (Claude Opus 4.8) <noreply@anthropic.com>
2026-06-08 20:21:32 -07:00
bj
ba224477e3 v0.9.5: cheat on-PATH command (live, never-drifts reference) + verified no-uninstall config-preserving update
- bin/cheat: one-screen reference for ALL short commands, generated live from
  the bin/ wrapper set + each tool's help block (description from the wrapper
  header / backing lib line 1; ONE real example from the wrapper's example
  block / lib Usage form). cheat <filter> + cheat -h. LC_ALL=C em-dash slicing.
- Wired into install-larry.sh symlink loop + MANIFEST (auto-synced on update).
- Proved the update path: simulated v0.9.0 install with populated config/auth/
  site-data -> re-ran installer against v0.9.5 origin -> reached v0.9.5 with
  bin/cheat on PATH + completion wired + fixtures present, ALL 8 state files
  byte-identical (sha256), tbn adt + completion working after. Idempotent re-run
  (no duplicate rc line). NO uninstall needed for an update.
- VERSION + LARRY_VERSION -> 0.9.5; MANIFEST regenerated (--check clean, 95
  entries); bash -n clean. Deliverables: cheatsheet + update-procedure (myPKA).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 15:24:02 -07:00
Clover
df1810cba7 v0.9.4: short on-PATH commands + live 3-level tab-completion + durable fixture
Make the toolkit usable BY HAND without the `larry tools <name>` prefix.

- bin/ of thin wrappers (tbn/tbp/tbh/tbpr/where/paths/route_test + a full-name
  passthrough per operator tool). Installer symlinks them into LARRY_BIN_DIR so
  `tbn adt` runs directly. Each resolves lib/ via bin/_nc_common.sh
  (LARRY_LIB_DIR -> ../lib -> $LARRY_HOME/lib) and execs the matching tool.
- -h/--help on every wrapper.
- bin/nc-completion.bash: dynamic bash completion, 3 levels (command / SITE /
  THREAD) enumerated LIVE from the NetConfig tree under $HCIROOT via the same
  lib/nc-parse.sh the tools use; cached per (HCIROOT, newest-NetConfig-mtime).
  Installer appends a guarded source line to the user's bash rc.
- fixtures/integrator: durable 3-site demo (epic->ancout->codamx) with cross-
  site fan-out + fan-in and a multi-route inbound. RESOLVES the v0.9.3 fixture
  conflict: cross-site destination blocks are XS_*-prefixed so they never
  collide with a local protocol name (a collision makes nc-paths
  _xsite_down_targets suppress the cross-site hop, lib/nc-paths.sh:378).
- DEFERRED: fetch-token.sh broker wiring (broker contract still finalizing).

VERSION+LARRY_VERSION -> 0.9.4; MANIFEST regenerated (--check clean); bash -n
clean; verified live on .135 (short commands off PATH + all 3 completion levels).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 11:58:25 -07:00