Skip to content

chore: release 1.2.2 (durable JSONL-watcher reliability)#527

Closed
EtanHey wants to merge 2 commits into
mainfrom
chore/release-1.2.2-watcher-fix
Closed

chore: release 1.2.2 (durable JSONL-watcher reliability)#527
EtanHey wants to merge 2 commits into
mainfrom
chore/release-1.2.2-watcher-fix

Conversation

@EtanHey

@EtanHey EtanHey commented Jun 20, 2026

Copy link
Copy Markdown
Owner

Bumps the package to 1.2.2 so the durable JSONL-watcher fix (#525) is publishable to PyPI and installable via the homebrew-layers tap.

Why a new version

  • PyPI's 1.2.0 predates the watcher fix.
  • The existing v1.2.1 git tag was created on code where pyproject.toml still read 1.2.0, so its publish workflow built brainlayer-1.2.0 (already on PyPI) and failedv1.2.1 was never published.
  • This bump syncs pyproject.toml, src/brainlayer/__init__.py, and server.json (both version and packages[0].version) to 1.2.2 so test_release_version_sync passes and the Publish to PyPI workflow can build+upload cleanly on the v1.2.2 tag.

Also included

A test-isolation fix in test_stability_health_check.py: the autouse fixture now redirects the default pause_sentinel_path (and, as before, queue_dir) away from live developer state. Without it, a real brainlayer pause sentinel on the dev machine suppresses watcher_stalled and breaks test_health_check_reports_watcher_stalled_drain_no_progress_and_queue_backed_up. Full unit gate green (3042 passed).

🤖 Generated with Claude Code


Note

Low Risk
Version-metadata and test-only changes; no production runtime behavior in this diff.

Overview
Release 1.2.2 — bumps version from 1.2.0 to 1.2.2 in pyproject.toml, src/brainlayer/__init__.py, and server.json (top-level and packages[0].version) so release/version-sync checks and the PyPI publish workflow can ship the durable JSONL-watcher fix that was not cleanly publishable on prior tags.

Test isolation — renames and broadens the autouse fixture in test_stability_health_check.py: it still redirects the default ~/.brainlayer/queue for _queue_stats, and now also swaps the default ~/.local/share/brainlayer/pause.sentinel to an absent temp path via _pause_sentinel_state, preventing a real brainlayer pause on a dev machine from suppressing watcher_stalled in tests that rely on default HealthCheckConfig paths.

Reviewed by Cursor Bugbot for commit 3791e81. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Release version 1.2.2 with improved health check test isolation

Macroscope summarized 3791e81.

Summary by CodeRabbit

  • Chores
    • Version updated to 1.2.2

EtanHey and others added 2 commits June 20, 2026 18:20
Bumps the package to 1.2.2 so the durable-watcher fix (#525) is publishable
to PyPI and installable via the homebrew-layers tap. PyPI 1.2.0 predates the
fix; the existing v1.2.1 git tag was never published and predates it too.

Version synced across pyproject.toml, src/brainlayer/__init__.py and
server.json (test_release_version_sync green).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqgSTrcnkHocz2rfLrveXK
Follow-on to the queue_dir isolation: tests that build HealthCheckConfig
without overriding pause_sentinel_path inherited the developer's real
~/.local/share/brainlayer/pause.sentinel. A live `brainlayer pause` sentinel
(e.g. created during an operational pause) then suppressed `watcher_stalled`
and broke
test_health_check_reports_watcher_stalled_drain_no_progress_and_queue_backed_up.
Extend the autouse fixture to redirect the live default sentinel path to an
absent isolated file via _pause_sentinel_state, alongside the existing
queue-stats redirect. Tests passing explicit paths are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqgSTrcnkHocz2rfLrveXK

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Version bumped from 1.2.0 to 1.2.2 in pyproject.toml, server.json, and src/brainlayer/__init__.py. The health-check test isolation helper was extended to also patch health_check._pause_sentinel_state, preventing live pause-sentinel filesystem state from affecting tests that omit explicit config paths.

Changes

Release 1.2.2

Layer / File(s) Summary
Version bump to 1.2.2
pyproject.toml, src/brainlayer/__init__.py, server.json
Version string updated from 1.2.0 to 1.2.2 in the project metadata, the runtime __version__ constant, and both version fields in the server package manifest.
Health-check test path isolation
tests/test_stability_health_check.py
_isolate_default_queue_dir replaced by _isolate_default_live_paths, which monkeypatches both health_check._queue_stats and health_check._pause_sentinel_state to substitute temp paths for the live ~/.brainlayer/queue and ~/.local/share/brainlayer/pause.sentinel defaults.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇 Hop, hop, version's new,
From 1.2.0 up to .2!
The sentinel and queue now hide,
In cozy temp dirs tucked inside.
No live files to crash the test—
A tidy burrow is the best! 🌿

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change as a version release (1.2.2) and includes relevant context about the durable JSONL-watcher reliability.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-1.2.2-watcher-fix

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@EtanHey

EtanHey commented Jun 28, 2026

Copy link
Copy Markdown
Owner Author

Closing as obsolete. The release/version-bump purpose (1.2.2) is long superseded — main is at 1.4.2 and the #525 watcher fix already shipped in v1.3.0+. The one still-useful piece — the pause-sentinel test isolation from commit 3791e81 — was salvaged and merged in #557 (ported into the autouse fixture in tests/test_stability_health_check.py). The version bumps (pyproject.toml/init.py/server.json) were intentionally discarded. Superseded by #557.

@EtanHey EtanHey closed this Jun 28, 2026
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.

1 participant