fixes friction test issues - #23
Merged
Merged
Conversation
✅ Deploy Preview for earthscope-sfg-workflows ready!
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>
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
approved these changes
Aug 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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)
returncodefromnovatel_770_2tile/nov0002tileand raise instead of recording a merge job for a failed conversion.pride_cfg.clitoPrideProcessorin bothsv3_pipelineandqc_pipeline(user CLI flags were silently ignored).compile-garposhardcodes thebin/garpos_v102/f90libpath, which newer upstream releases dropped.Monkey-patches replaced by upstream fixes
sv3_pipeline.pypreviously patched three upstream bugs at import time; all are now fixed at the source and the patches are removed:ISB model/AI Ambiguity validationkeys (silent 0-KIN-file runs, GNSSommelier#28) — fixed in Add missing 'AI Ambiguity validation' and 'ISB model' keys to pdp3 config generation GNSSommelier#33 (merged)PrideProcessor._validate_kinfileDataFrame-truthiness crash — fixed in Fix DataFrame truthiness crash in _validate_kinfile; surface pdp3 failures GNSSommelier#34TBDArray.write_dfnot promoting thetimecolumn to the index (and Go-binary wrappers silently swallowing failures) — fixed in Fix TBDArray.write_df index handling; raise on Go-binary failure earthscope-sfg-tools#19pride-pppis now pinned to an explicit GNSSommelier rev (was unpinned → default-branch HEAD at lock time) and the sfg-tools pin moved from0.2.0to the fix commit. After the two upstream PRs merge: move both pins to merged-main revs (sfg-tools0.2.1tag suggested) with a single re-lock.Test plan
pixi run test→ 154 passed, 7 skipped, including the fulltest_sv3_pipeline_integration.pysuite (37 tests) against the real fixtures — exercises the un-patchedwrite_dfkin-position path end-to-end.PrideCLIConfigreachesPrideProcessor._validate_kinfile,write_df,write_config_file).🤖 Generated with Claude Code