Skip to content

chore: run the shared dash and internal-refs gates from script-utils 0.1.7 - #88

Merged
NSchatz merged 1 commit into
mainfrom
chore/shared-gates-0.1.7
Nov 8, 2026
Merged

NSchatz merged 1 commit into
mainfrom
chore/shared-gates-0.1.7

Conversation

@NSchatz

@NSchatz NSchatz commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Moves transform's dash and internal-refs gates to the shared bins in @cosyte/script-utils 0.1.7 (ST34: one implementation of each gate), and deletes the local scripts and their tests. The PHI scan stays local.

What moved

gate now config
dash cosyte-no-emdash scripts/check-no-emdash.exclude: the CHANGELOG archive (unread below its boundary) and the two verbatim captures in documentation/hl7-refresh/, both exactly what the local gate left out
internal refs cosyte-internal-refs scripts/internal-refs.json

Deleted: scripts/check-no-emdash.mjs, scripts/check-no-internal-refs.sh, test/scripts/no-emdash-gate.test.ts.

Parity, measured

  • Dash. Both gates over 44 spellings through --stdin: no spelling the local gate caught is missed; the shared gate also catches the eight-digit, braced backslash-x and CSS escapes. Tree cases on throwaway repos: the archive below the boundary stays out, the generated half above it reds, a missing heading fails closed, file names and unreadable tracked files red. The local gate's vendor/ binary partition is gone: the shared gate reads those archives too (both scan clean). On this tree both are clean.
  • Internal refs. Both gates on this tree: clean. 54 atomic violations, each placed in README, a doc comment and a string literal of a throwaway repo (162 cases): every case the local gate reds, the shared gate reds. The local slice rule counts the and each as determiners and the local phase rule reads roadmap §4.5, connect-phase and phase was, which the shared rules let through, so both ride along as extraRules with the local self-test samples.

What stays local, and why

PHI scan (scripts/phi-scan.ts). The shared cosyte-phi-scan carries only the SSN and email floor. On a synthetic ADT^A01 the local scanner reports eight field hits (PID-3 identifier, PID-5 name, PID-7 birth date, PID-11 address, PID-13 phone) and the shared one reports none. It moves when the shared engine ships HL7 v2 field detectors, or as a runPhiScan caller passing detect.

Every CI job keeps its name: no-emdash.yml and no-internal-refs.yml call the installing variants of the same shared workflows. No published file changes, so no changeset.

https://claude.ai/code/session_01MXLcW95gf97vs9RBU1YsXf

…0.1.7

The repo-local dash and internal-refs gates are replaced by the shared
bins in @cosyte/script-utils 0.1.7 (ST34: one implementation of each
gate), and their scripts and self-tests are deleted.

- dash: cosyte-no-emdash. scripts/check-no-emdash.exclude leaves out
  what the local gate left out: the CHANGELOG archive below its boundary
  heading (`unread`) and the two verbatim hl7-refresh captures, by
  literal path.
- internal refs: cosyte-internal-refs, configured by
  scripts/internal-refs.json with the same prefixes, designations,
  surface, doc-comment pass and string-literal pass, plus two extra
  rules carrying the local phase rule and slice rule as they were
  (`roadmap §4.5`, `the slice`, `each slice`), so nothing the local
  gate caught is lost.

The PHI scan stays local: its HL7 v2 field detectors (PID-3, PID-5,
PID-7, PID-11, PID-13) have no shared counterpart.

Every CI job keeps its name; the two gate workflows move to the
installing variants of the same shared workflows.

Claude-Session: https://claude.ai/code/session_01MXLcW95gf97vs9RBU1YsXf
@NSchatz
NSchatz force-pushed the chore/shared-gates-0.1.7 branch from 31e2cdc to e941c3c Compare November 8, 2026 05:38
@NSchatz
NSchatz merged commit cf9b3cd into main Nov 8, 2026
13 checks passed
@NSchatz
NSchatz deleted the chore/shared-gates-0.1.7 branch November 8, 2026 05:41
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