Skip to content

Skip R installation in live parity check workflow - #15

Merged
OVVO-Financial merged 2 commits into
mainfrom
claude/intelligent-johnson-6ctwxv
Jun 14, 2026
Merged

Skip R installation in live parity check workflow#15
OVVO-Financial merged 2 commits into
mainfrom
claude/intelligent-johnson-6ctwxv

Conversation

@OVVO-Financial

Copy link
Copy Markdown
Owner

Summary

Updated the inspect-r-api-update workflow to skip R installation during the live parity verification step, delegating R setup to the downstream parity-autofix workflow instead.

Changes

  • Added --skip-install flag to the live R parity check command when using a cached plan
  • Added explanatory comment clarifying that R installation is intentionally skipped in this job since the parity-autofix workflow (which is dispatched later) handles R installation and performs the actual live verification

Details

The workflow now gates mapped parity tests against the committed cache without attempting to install R from local source. This avoids redundant R installation steps and aligns the workflow with the intended division of responsibilities where the parity-autofix workflow handles the full R verification pipeline.

https://claude.ai/code/session_012bjk4Y5eT1Sva8tNJjqUSw

claude added 2 commits June 14, 2026 13:26
The inspect-r-api job deliberately does not set up R; live-R parity
verification is delegated to the parity-autofix workflow (which runs
setup-r). The 'Run mapped live R parity' step invoked
run_live_r_parity_for_changed_api.py without --skip-install, so the
script called install_local_r_nns.py and aborted with "'R' is not on
PATH" (exit code 1).

Pass --skip-install in the non-fresh-cache path, matching the pattern
already used in parity-autofix.yml. The mapped parity tests then gate
against the committed cache (CI=true => offline mode), and real live-R
verification still runs via the dispatched parity-autofix workflow.
Previously neither CI workflow actually exercised live R: every parity
test runs with CI=true, which forces tests/_r.py into offline/cache-only
mode, so the gate only replayed the committed cache. parity-autofix even
set up R and installed NNS but never called it.

Turn parity-autofix into a real fidelity test against the R code that
triggered it:

- install_local_r_nns.py: add --source (install from a given package
  source, e.g. the upstream checkout at the recorded commit, instead of
  the vendored tools/NNS snapshot) and --expected-version (verify the
  recorded upstream version rather than hard-coding 13.0).

- run_live_r_parity_for_changed_api.py: add --live mode. It moves the
  committed cache aside and runs the mapped parity subset with the
  offline toggles (CI, NNS_R_CACHE_ONLY, ...) cleared, so every mapped
  nns() call recomputes against the freshly installed live R and the
  test asserts Python matches it. The committed cache is always restored
  unchanged (backup uses the gitignored .json.bak name), so no
  regenerated values leak into the PR. A failure means real divergence.

- parity-autofix.yml: install live R NNS from upstream/NNS at the
  recorded commit and run the parity step with --live.

inspect-r-api stays the fast, R-free detection/cache gate and dispatches
parity-autofix, which now performs the live-R fidelity check on any
change that maps to parity tests.
@OVVO-Financial
OVVO-Financial merged commit 84a4c97 into main Jun 14, 2026
4 checks passed
@OVVO-Financial
OVVO-Financial deleted the claude/intelligent-johnson-6ctwxv branch June 14, 2026 13:46
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.

2 participants