Skip to content

UI_instrument / BookType recodes run unmodified on Jenner#9

Open
jenner-analytics wants to merge 1 commit into
NeighborhoodInfoDC:masterfrom
jenner-analytics:jenner-check/initial-bundles
Open

UI_instrument / BookType recodes run unmodified on Jenner#9
jenner-analytics wants to merge 1 commit into
NeighborhoodInfoDC:masterfrom
jenner-analytics:jenner-check/initial-bundles

Conversation

@jenner-analytics

@jenner-analytics jenner-analytics commented Jul 10, 2026

Copy link
Copy Markdown

Jenneranalytics.com provides an API that runs SAS code, with support for more than 200 SAS procedures. You can also use it with AI assistants in a collaborative workspace. It's available for Mac on the Apple App Store, and by license for Windows and Linux.

We support the larger community by
(1) increasing access to SAS-compatible systems,
(2) by providing test coverage and a test coverage framework to public SAS repos in order to encourage the use of best practices in software engineering.

Your Make_formats.sas runs on Jenner unmodified — this PR adds a small compatibility bundle so you can see for yourself. It's the test we wrote for your ROD library, shared in case it's useful, and was assembled with AI assistance as is most code in modern businesses today.

What stood out is how much of the ROD read path rests on a couple of small, well-factored recode macros. %UI_instrument maps the raw Recorder-of-Deeds instrument text ("TRUSTEES DEED", "LIS PENDENS", "FORECLOSURE MEDIATION CERTIFICATE") onto a compact two-character document-type code through a single SELECT/WHEN block, and %BookType does the same for the GEN/LAN/OPR book codes — with the otherwise branch routing anything unexpected to a diagnostic instead of silently mislabeling it. Pairing those with the $uinstr, $booktyp, outcome and $OwnCat value lists in Make_formats.sas keeps the whole vocabulary of a foreclosure notice in one readable place. It's a clean way to hold a decade of scraped county records to one consistent shape.

The jenner-check/ directory is self-contained: three bundles built from code already in this repo, nothing outside it touched, and nothing runs on merge or checkout. Each keeps the source construct verbatim — the Make_formats.sas value lists, the %UI_instrument recode, the %BookType recode — and supplies a few inline sample notice records so it stands alone off the ROD library.

jenner-check/
├── README.md
├── run_jenner.sh
├── t001_make_formats/     # PROC FORMAT value lists from Make_formats.sas
├── t002_ui_instrument/    # %UI_instrument SELECT/WHEN recode, driven by sample notices
└── t003_booktype_freq/    # %BookType recode, tabulated with PROC FREQ

Each bundle carries the SAS under test, the pinned log and listing from a passing run, and provenance (source path, blob sha, commit). To try one against the hosted API, check out this PR and run from the repo root:

# Check out this PR (puts you on its branch); then run from the repo root:
gh pr checkout 9
curl -sS --data-binary @jenner-check/t002_ui_instrument/script.sas https://api.jenneranalytics.com/v1/quick

That returns the recoded document-type listing. From jenner-check/, ./run_jenner.sh --all re-runs all three bundles and verifies the pinned fields in each expected.json. It's free to try, no signup — full API reference: the docs.

A note on what leaves your machine: run_jenner.sh uploads only the SAS source text of the script it runs (plus a two-line autoexec) to api.jenneranalytics.com, which runs it and returns the log and listing. It doesn't read or upload any data files, so anything sitting next to a script stays put, and nothing is sent unless you run a command yourself — only the code you run is transmitted, as when pasting a snippet into any hosted tool. Each bundle ships its own inline sample records, so no ROD data is involved and you can review exactly what a run sends before sending it.

Merge it, close it, or ignore it — all fine, and no response is expected. We won't open further PRs in this repo. To opt out of any future ones for good, put no-more-prs in a comment here or open an issue titled jenner-check: opt out.


Lawrence W. Sinclair
CEO / Jenner Analytics Ltd
linkedin.com/in/lwsinclair/

Bundles built from code already in this repo:
- t001_make_formats:  PROC FORMAT value lists from Macros/Make_formats.sas
- t002_ui_instrument: %UI_instrument SELECT/WHEN recode (Macros/UI_instrument.sas)
- t003_booktype_freq: %BookType recode tabulated with PROC FREQ (Macros/BookType.sas)

Each bundle ships the SAS under test, a small bash+curl runner, the pinned
log/listing from a passing run, and provenance. Self-contained under
jenner-check/; nothing else in the repo is referenced or runs on merge.
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