Skip to content

fixes friction test issues - #23

Merged
mikegottlieb84 merged 8 commits into
mainfrom
ftd-fix-general-audit
Aug 6, 2026
Merged

fixes friction test issues#23
mikegottlieb84 merged 8 commits into
mainfrom
ftd-fix-general-audit

Conversation

@frigusgulo

@frigusgulo frigusgulo commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes the friction-test issues found in the 8-day SV3 pipeline audit, and replaces the interim monkey-patches with upstream fixes.

Pipeline fixes (this repo)

  • Check returncode from novatel_770_2tile / nov0002tile and raise instead of recording a merge job for a failed conversion.
  • Pass the configured pride_cfg.cli to PrideProcessor in both sv3_pipeline and qc_pipeline (user CLI flags were silently ignored).
  • Pin garpos to v1.0.2 — compile-garpos hardcodes the bin/garpos_v102/f90lib path, which newer upstream releases dropped.

Monkey-patches replaced by upstream fixes

sv3_pipeline.py previously patched three upstream bugs at import time; all are now fixed at the source and the patches are removed:

pride-ppp is now pinned to an explicit GNSSommelier rev (was unpinned → default-branch HEAD at lock time) and the sfg-tools pin moved from 0.2.0 to the fix commit. After the two upstream PRs merge: move both pins to merged-main revs (sfg-tools 0.2.1 tag suggested) with a single re-lock.

Test plan

  • pixi run test → 154 passed, 7 skipped, including the full test_sv3_pipeline_integration.py suite (37 tests) against the real fixtures — exercises the un-patched write_df kin-position path end-to-end.
  • New tests: non-zero returncode from novatel conversion does not record a merge job; configured PrideCLIConfig reaches PrideProcessor.
  • Verified the locked env carries all three upstream fixes (inspected installed _validate_kinfile, write_df, write_config_file).

🤖 Generated with Claude Code

@netlify

netlify Bot commented Jul 31, 2026

Copy link
Copy Markdown

Deploy Preview for earthscope-sfg-workflows ready!

Name Link
🔨 Latest commit 49a822b
🔍 Latest deploy log https://app.netlify.com/projects/earthscope-sfg-workflows/deploys/6a74d66ab4f08100084347c6
😎 Deploy Preview https://deploy-preview-23--earthscope-sfg-workflows.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

format-check was failing on two files (shotdata_gnss_refinement.py's
pre-existing line-wrap, and a missing blank line added by this
branch's own edits to test_sv3_pipeline_integration.py).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Franklyn Dunbar and others added 6 commits July 31, 2026 09:23
sv3_pipeline.py carried three monkey-patches applied at import time:
write_config_file (inject 'ISB model' / 'AI Ambiguity validation' pdp3
keys), PrideProcessor._validate_kinfile (DataFrame truthiness crash),
and TBDArray.write_df (promote 'time' column to index for
tiledb.from_pandas). All three are now fixed at the source:

- pride-ppp: config keys fixed in EarthScope/GNSSommelier#33 (merged),
  _validate_kinfile fixed in EarthScope/GNSSommelier#34
- earthscope-sfg-tools: write_df fixed in
  EarthScope/earthscope-sfg-tools#19 (which also makes the Go-binary
  wrappers raise on non-zero exit instead of failing silently)

pyproject now pins pride-ppp to an explicit GNSSommelier rev (it was
unpinned, resolving default-branch HEAD at lock time) and moves the
sfg-tools pin from 0.2.0 to the fix commit; pixi.lock re-solved
accordingly. Once the upstream PRs merge, both pins should move to
merged-main revs (sfg-tools 0.2.1 tag) with a single re-lock.

Removing the base-class write_df patch also ends qc_pipeline's silent
dependence on sv3_pipeline being imported first for its
qcKinPositionTDB writes to work.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fix all 37 pre-existing ruff errors: drop unused imports (F401/F811),
import Path/SFGScope where annotations referenced undefined names
(F821 in data_mgmt/ports.py, core.py, adapters/memory.py), add the
TDB* array classes and Survey to session.py's TYPE_CHECKING block, and
move the _Site alias below the import block (E402).

CI previously ran with locked: false — the lockfile was never actually
enforced — and skipped linting entirely, which is how the 37 errors
accumulated. Switch to locked: true, add a lint step, and trigger on
pixi.lock changes.

PIXI.md still described consuming ../earthscope-sfg-tools as an
editable sibling checkout; replace with the current git-pinned setup
and a recipe for developing against a local checkout.

Bump pride-ppp and earthscope-sfg-tools pins to the current fix-branch
heads (GNSSommelier 21ff3b5: MissingProductsError + pdp3 failure
surfacing; sfg-tools cb84fe5: pandas<3 bound, __all__ cleanup) and
re-lock — pandas now resolves to 2.x here as well.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
pride-ppp's metadata requests gpm-specs and gnss-product-management
via unpinned git URLs (default-branch HEAD). pixi's --locked validation
compares the manifest-requested ref against the locked SHA, so the new
locked: true CI step failed with 'lock-file not up-to-date' even though
the lock was freshly solved. Pin both packages to the same GNSSommelier
rev as pride-ppp; all three must move together when re-locking.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mikegottlieb84
mikegottlieb84 merged commit 4cd1733 into main Aug 6, 2026
4 checks passed
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