Skip to content

Resolve develop conflicts for #27 (event_handler_retries) - #39

Merged
pajoma merged 8 commits into
feature/event_handler_retriesfrom
claude/27-resolve-conflicts
Jun 28, 2026
Merged

pajoma merged 8 commits into
feature/event_handler_retriesfrom
claude/27-resolve-conflicts

Conversation

@pajoma

@pajoma pajoma commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Merge develop into feature/event_handler_retries to clear the merge conflicts that appeared after the CI-fix (#38) and lint (#37) PRs landed. Merge this into the feature branch to make #27 mergeable into develop again.

I couldn't push the merge directly to feature/event_handler_retries — the environment's git proxy only authorizes pushes to claude/* branches, so this comes in as a separate branch you merge.

Conflicts resolved (3 files)

  • .github/actions/setup-python-env/action.yml — kept this PR's approach (remove the venv cache entirely) over develop's cache-key fix. Both solve the stale-venv mypy: cannot execute failure; dropping the cache is Feature/event handler retries #27's deliberate design, so develop's now-redundant cache step (and its unused setup-python step id) are not reintroduced.
  • src/blueprint/agents/io/api/utilities/root.py — took develop's extracted route_methods = route.methods or set() form. Behaviorally identical to this branch's inline route.methods or set() guard, just without the double evaluation.
  • pyproject.toml — version set to 0.6.4 (develop is at 0.6.3 after the two merges), which also satisfies the version-bump check.

Verification (merge result)

  • ruff check src tests ✅
  • ruff format --check src tests ✅
  • mypy src → Success: no issues found in 102 source files ✅

No application logic changed beyond the conflict hunks above; #27's eventing/retry work is untouched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm


Generated by Claude Code

claude and others added 8 commits June 28, 2026 14:08
The setup-python-env composite action keyed the .venv cache on the major
Python version ("3.13") and only rebuilt the venv on a cache miss. A venv's
bin/ entrypoints hard-code the absolute interpreter path, so when the runner
bumped its 3.13.x patch (now 3.13.14) the cached interpreter vanished and the
restored scripts failed with:

    .venv/bin/mypy: cannot execute: required file not found  (exit 127)

ruff escaped this because it runs as a standalone PATH binary, not via a
venv shebang — so the failure only surfaced at the mypy step. This broke CI
on every branch and on develop itself.

Fix:
- Key the cache on the resolved patch version (steps.setup-python.outputs.
  python-version) so a patch bump busts the cache and rebuilds the venv.
- Always run the install step (idempotent with uv) so a restored venv whose
  interpreter drifted is repaired rather than used as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
With the venv-cache fix above, the mypy step now executes and surfaces a
pre-existing type error on develop that the broken cache had masked:
route.methods is typed set[str] | None (Starlette), used unguarded by
sorted() and `in`. Guard via `route.methods or set()`.

This keeps the CI-fix PR self-green; the same fix is also in the lint
cleanup PR (#37), which will rebase cleanly once this lands.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
Patch bump for the CI venv-cache fix + mypy guard, per the repo's
version-bump check on PRs targeting develop.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
ci: fix stale venv cache breaking mypy/test steps
- ruff format: reformat files to the project's formatter (ruff format,
  which CI enforces via `ruff format --check`) — formatting only.
- mypy: guard route.methods (set[str] | None) in root.py before
  sorted()/membership use, resolving 2 strict-mode errors.

Verified against the exact CI steps: `ruff check src tests`,
`ruff format --check src tests`, and `mypy src/` all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
Patch bump for the lint cleanup, per the repo's version-bump check
(develop is at 0.6.2 after the CI fix merged).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
Resolve conflicts from the merged CI-fix (#38) and lint (#37) changes:
- .github/actions/setup-python-env: keep this branch's approach (drop the
  venv cache entirely) over develop's cache-key fix — both solve the stale
  venv, and removing the cache is this PR's deliberate design. Also removes
  the now-unused setup-python step id.
- root.py: take develop's extracted `route_methods` form (identical behavior
  to this branch's inline guard, no double-eval).
- pyproject.toml: version 0.6.4 (above develop's 0.6.3, clears the bump gate).

ruff check, ruff format --check, and mypy src all pass on the merge result.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WVGErowPdRFzkNuiWmLaNm
@pajoma
pajoma merged commit e3e7b2f into feature/event_handler_retries Jun 28, 2026
2 checks passed
@pajoma
pajoma deleted the claude/27-resolve-conflicts branch June 28, 2026 17:32
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