Skip to content

feat(core): bump galileo-core to ^4.4.0, drop fallback ControlSpan tests (HYBIM-788)#75

Merged
etserend merged 3 commits into
mainfrom
feat/HYBIM-788-port-fa93ab2
Jul 15, 2026
Merged

feat(core): bump galileo-core to ^4.4.0, drop fallback ControlSpan tests (HYBIM-788)#75
etserend merged 3 commits into
mainfrom
feat/HYBIM-788-port-fa93ab2

Conversation

@etserend

Copy link
Copy Markdown
Contributor

Summary

Port of upstream commit fa93ab2 from rungalileo/galileo-python (#615) — third commit in the HYBIM-788 migration.

  • Bumps galileo-core from ^4.3.0^4.4.0 in both main deps and test group
  • Runs poetry lock to update the lock file to galileo-core 4.4.0
  • Replaces test_logged_trace_roundtrip_with_fallback_control_span and test_fallback_control_span_rejects_non_uuidish_id_fields with direct native equivalents — the builtins.__import__ + importlib.reload fallback machinery is dead code now that 4.4.0 ships native ControlSpan unconditionally
  • Removes unused top-level imports (builtins, importlib, three splunk_ao.* module refs) from both test files

Namespace translation applied

No from galileo.* refs — this commit only touches pyproject.toml, poetry.lock, and two test files. galileo-core dep name is intentionally unchanged (external dep).

Test plan

  • poetry run pytest tests/schemas/test_logged.py tests/test_agent_control_bridge.py -v — 49 passed
  • poetry run ruff check src/splunk_ao/ --exclude src/splunk_ao/resources/ — clean
  • grep -r "from galileo\." src/splunk_ao/ — no results

Part of

HYBIM-788 — commits applied in order: 3 of 3 (e42a569 → 6ccd06a → fa93ab2)

Stacked on: #74 (feat/HYBIM-788-port-6ccd06a — jsonl_flat)

🤖 Generated with Claude Code

@etserend
etserend force-pushed the feat/HYBIM-788-port-fa93ab2 branch from 148a1ab to ccf6f12 Compare July 14, 2026 00:08
@etserend
etserend changed the base branch from feat/HYBIM-788-port-6ccd06a to main July 14, 2026 00:08
@etserend
etserend marked this pull request as ready for review July 14, 2026 15:33
@etserend
etserend requested a review from adityamehra July 14, 2026 15:36
@fercor-cisco

Copy link
Copy Markdown
Collaborator

Port fidelity review — nothing is being lost ✅

Compared upstream commit fa93ab2 against this PR line-by-line across all 4 files, synced the venv to galileo-core 4.4.0, and ran the affected suite (49 passed).

Per-file check

File Upstream Fork PR Verdict
pyproject.toml ^4.3.0^4.4.0 (main + test extras) identical bump
poetry.lock galileo-core 4.3.0 → 4.4.0, wheel hash eb7995c…74e8 same version, byte-identical wheel hash
tests/schemas/test_logged.py 2 fallback tests → native equivalents, drop builtins/importlib/3 module imports same logic, correctly namespace-translated (galileo.*splunk_ao.*)
tests/test_agent_control_bridge.py fallback test → native, drop same imports same

Specifically confirmed not lost

  • Both renamed tests keep upstream's exact assertions (type(...) is LoggedControlSpan, ControlSpan.model_fields["name"].default, the 4-field parametrize).
  • All removed imports (builtins, importlib, control_module/logger_module/logged_module) have zero lingering references — the remaining fake_agent_control_modules matches are an unrelated fixture.
  • The PR correctly leaves src/splunk_ao/logger/control.py's fallback machinery in place — upstream also didn't touch source in this commit, only the tests. With 4.4.0, HAS_NATIVE_CONTROL_SPAN resolves to True (native ControlSpan lives in galileo_core.schemas.logging.span), so the tests exercise the native path exactly as intended.

Two deviations from upstream — both intentional and harmless

  1. Import placement — upstream added a top-level from galileo.logger.control import ControlSpan; the fork uses function-local imports in both tests. Functionally equivalent. I verified the top-level style makes the fork's newer ruff (0.15.20) isort auto-reorder it, so the function-local choice cleanly sidesteps that.
  2. Pre-existing fork baseline — the lock content-hash differs and pyproject shows ^3.11 (vs upstream ^3.10); unrelated prior fork state, not something this commit should carry over.

Note (not a defect)

The installed 4.4.0 wheel's in-package galileo_core.__version__ string still reads "3.96.0" (a stale constant baked into the wheel upstream). Dist metadata and the locked hash both correctly identify it as 4.4.0, and it's the identical artifact upstream pinned — an upstream cosmetic quirk, not a porting issue.

No changes needed — the port is complete and correct.

🤖 Generated with Claude Code

fercor-cisco
fercor-cisco previously approved these changes Jul 14, 2026

@fercor-cisco fercor-cisco left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved but there is a merge conflict you will need to resolve.

etserend and others added 3 commits July 15, 2026 11:37
…sts (HYBIM-788)

Ports upstream commit fa93ab2 from rungalileo/galileo-python.

galileo-core 4.4.0 ships native ControlSpan unconditionally, so the
builtins.__import__ + importlib.reload fallback test machinery is no longer
needed. Replace the two fallback tests with direct native equivalents and
remove the now-unused top-level module imports from both test files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…evert)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@fercor-cisco

Copy link
Copy Markdown
Collaborator

What changed since this PR was last approved (at commit b144133)

Verified the rebase didn't alter approved code — here's the breakdown:

The two commits I had approved are unchanged in content:

  • test(core): add missing Given/When/Then comments... — identical patch-id, byte-for-byte the same commit (now aeac21a).
  • feat(core): bump galileo-core to ^4.4.0... — the code/pyproject.toml diff is identical; only its poetry.lock hunk was split out of this commit during the rebase (now 8d5987e).

The branch was rebased onto a newer main (91f72dd instead of 15c073f), pulling in 4 commits that weren't there at approval time:

  • 7706544 feat(export): expose include_code_metric_metadata on export_records (HYBIM-788)
  • c6681cc revert: ruff 0.9.7 → 0.15.20 bump (reverted back to 0.9.7)
  • 1061477 fix(HYBIM-787): clear bridged GALILEO_* env vars on reset()
  • 91f72dd docs(HYBIM-840): init splunk-ao-migration-tool (README + before/after examples)

One new commit was added on top:

  • e16e1d8 fix(deps): regenerate poetry.lock after rebase onto main (post ruff revert) — re-adds the galileo-core 4.3.0→4.4.0 lockfile entry that got separated out of the bump commit due to the ruff-revert conflict. Net effect on the lockfile is the same as before, just split into its own commit.

Bottom line: none of the previously approved code changed — same two commits, same diffs. Only the rebase base moved forward (4 new upstream commits) plus one lockfile-only follow-up commit.

@etserend
etserend merged commit 30b55f8 into main Jul 15, 2026
13 checks passed
@etserend
etserend deleted the feat/HYBIM-788-port-fa93ab2 branch July 15, 2026 18:15
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants