Skip to content

chore(release): bump version to 1.5.25 (XS) - #841

Merged
EtanHey merged 1 commit into
mainfrom
wt/release-1.5.25
Sep 14, 2026
Merged

EtanHey merged 1 commit into
mainfrom
wt/release-1.5.25

Conversation

@EtanHey

@EtanHey EtanHey commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

Version bump 1.5.24 → 1.5.25 in the same four files as #827/#839 (pyproject.toml, src/brainlayer/__init__.py, server.json, brain-bar/bundle/Info.plist). No code change.

What 1.5.25 carries (since v1.5.24)

#840 only: the observability producer resolves its backup inputs with no env wiring (mirrors each writer's resolver, probes launchd itself as a schema-v1-valid input), and command-path exceptions yield one unmeasurable section instead of no document. This is the fix for the grey Backups card the 1.5.24 deploy exposed on both Macs. The tag-contains gate (scripts/release_tag_contains.py v1.5.25 840 --assert-module …) runs at release against the installed keg.

BrainBar app code is unchanged, so the brainbar cask stays at 1.5.24 (BRAINLAYER_VERSION_CHECK_CASK_LAG_REASON="no BrainBar release for 1.5.25"); BrainBar is NOT restarted by this deploy.

Test plan

  • CI green; changed-only pre-push passed on push.
  • After merge: tag → PyPI → tap formula 1.5.25 → brew upgrade M4 → signature gate → tag-contains gate → deploy both Macs → shipped job writes observability.json with all four sections measured (orc finish-line condition A).

Bot policy

Read AGENTS.md → existing bots only (CodeRabbit); no Codex reviewer bot by ruling (2026-09-13); Bugbot out of quota until 09-27.

— brainlayerClaude (lead) · claude-code/claude-fable-5-1


Note

Low Risk
Version string updates only; no runtime, security, or data-handling logic changes in the diff.

Overview
Release-only version bump from 1.5.24 to 1.5.25 across the standard release surfaces: pyproject.toml, src/brainlayer/__init__.py (__version__), server.json (server and PyPI package metadata), and brain-bar/bundle/Info.plist (CFBundleVersion, CFBundleShortVersionString, BrainLayerReleaseVersion).

There are no application or library code changes in this diff—only synchronized version strings so PyPI, MCP registry metadata, and the BrainBar bundle report the new release.

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

Note

Bump version to 1.5.25 across bundle, project, server, and package metadata

Updates version strings from 1.5.24 to 1.5.25 in Info.plist, pyproject.toml, server.json, and src/brainlayer/init.py. No functional changes; only metadata and the __version__ constant move to the new release.

Macroscope summarized 8858a28.

Co-Authored-By: brainlayerClaude running claude-fable-5-1 <noreply@anthropic.com>
@EtanHey EtanHey added the size:XS Tight-loop PR size: 50 or fewer hand-written lines changed label Sep 14, 2026
@cursor

cursor Bot commented Sep 14, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_515f97aa-423b-4cbe-a3cb-c194a67caa78)

@coderabbitai

coderabbitai Bot commented Sep 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 13 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 8ad25fdf-f516-4204-887f-fb2ef2695fee

📥 Commits

Reviewing files that changed from the base of the PR and between 8680b73 and 8858a28.

📒 Files selected for processing (4)
  • brain-bar/bundle/Info.plist
  • pyproject.toml
  • server.json
  • src/brainlayer/__init__.py

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.

@EtanHey

EtanHey commented Sep 14, 2026

Copy link
Copy Markdown
Owner Author

Claude pair review — VERDICT: PASS

  1. git diff --stat origin/main...origin/wt/release-1.5.25 → touches exactly brain-bar/bundle/Info.plist, pyproject.toml, server.json, src/brainlayer/__init__.py (7 insertions, 7 deletions) — identical file set to the 1.5.24 bump merge 80836ad8 (git show --stat 80836ad8). PASS.
  2. git diff origin/main...origin/wt/release-1.5.25 | grep '^[-+][^-+]' → 7 removed lines, 7 added lines, every removed line contains 1.5.24, every added line contains 1.5.25, nothing else changed. PASS.
  3. git grep -n '1\.5\.24' origin/wt/release-1.5.25 -- pyproject.toml src/brainlayer/__init__.py server.json brain-bar/bundle/Info.plist → no matches (exit 1). PASS.
  4. git diff origin/main...origin/wt/release-1.5.25 -- brain-bar/bundle/Info.plist → touches exactly CFBundleVersion, CFBundleShortVersionString, BrainLayerReleaseVersion, same three-key shape as git show 80836ad8 -m --first-parent -- brain-bar/bundle/Info.plist (which bumped 1.5.23→1.5.24 on the same three keys). PASS.
  5. gh pr view 841 --json statusCheckRollup at head 8858a283 → mixed: SUCCESS (changes, lint, signature parity trigger, CodeRabbit, Macroscope), IN_PROGRESS (test (3.11), test (3.12), test (3.13), swift (macos-15), signature parity (macOS keg)), SKIPPED (launchd (macos-15), DeepSource), CANCELLED (stale duplicate Ratchet runs: signature parity trigger, signature parity (macOS keg), ratchet table), NEUTRAL (Cursor Bugbot). No FAILED checks; PR state OPEN, mergeable MERGEABLE. PENDING — not blocking this review, CI still running at time of comment.

This is a clean, mechanical version bump matching the prior release's shape exactly. No scope creep, no stray edits.

— brainlayerClaude (pair-reviewer subagent) · claude-code/claude-sonnet-5

@EtanHey

EtanHey commented Sep 14, 2026

Copy link
Copy Markdown
Owner Author

Lead note — Swift job rerun, with the reason

swift (macos-15) failed on 8858a283 in SearchQueryActorTests.testLatestQueryWinsAndOlderResultIsDropped (XCTAssertNil on the OLD candidate — the race let the stale result survive). This PR changes no Swift source (git diff --stat 8680b73b..8858a283 -- brain-bar/Sources brain-bar/Tests is empty); the identical Swift tree passed on #840 minutes earlier; 5/5 local runs of the suite pass. Classified as a timing flake (same class as the known SocketIntegrationTests flake) and recorded as plan FOLLOW-UPS #36 with the deterministic fix. Rerunning the failed job once; merge only on a green rerun of this exact head.

— brainlayerClaude (lead) · claude-code/claude-fable-5-1

@github-actions

Copy link
Copy Markdown

BrainLayer ratchet

Every Value below was measured by this run. A row this machine cannot measure says n/a — <reason> instead of a number; baselines in Notes name their own machine, method and date and were not measured here.

Row Status Value (measured by this run) Method Notes
commit provenance 🟢 GREEN measured 8858a283649c == PR head · checkout 4ffa665de888 commit graph + live PR head · in-process · runner Which commit this whole table is about. On a pull_request event the checkout is GitHub's synthetic merge ref, whose sha is not on the PR — #759's table printed 13fa724278bf while that PR's head was 4632f979 — so this row names the PR-head parent instead, the sha a reviewer can actually see. The comparison sha is read live from repos/{owner}/{repo}/pulls/{n} when the table is collected, not taken from the event payload, because the payload cannot know the run has been overtaken. Residual window, stated rather than papered over: a push landing between that read and the comment being posted is not caught here — the run for that push refreshes the table.
baseline attestation 🟢 GREEN baseline f421d1a7c5e6 matches the main attestation (run 34804982184 · main 8680b73b8bbd · 2026-09-14T04:09:12Z) main attestation artifact via Actions API · in-process · runner What every comparison is measured AGAINST, and who says so. The baseline fields of tests/fixtures/sprint_gate/corpus.json (queries, latency_baseline_ms, thresholds) are compared to the ratchet-attestation artifact of the latest successful push or (no-input) workflow_dispatch run of ratchet-attest.yml on main, fetched through the Actions API — a PR run cannot write to another run's artifacts. A field that differs is RED unless that main run measured the new value. The calibrated socket collector can license p50/p95; every absent measured path stays locked, so missing collection never passes as permission for a hand edit. Boundary: the comparator is this PR's checkout of ci_ratchet_table.py, diff-reviewable, not tamper-proof.
provenance 🟢 GREEN stamped 4ffa665de888 == HEAD, tree clean wheel stamp · in-process · runner Sha half of #749 keg-mode provenance: a keg built from this wheel can answer __build_sha__. The helper-age and served-process predicates need a running BrainBar and are measured only by scripts/sprint_gate.py on an installed Mac. The sha here is the checkout's — the merge ref on a PR — because that is what publish.yml stamps at release time; the PR-head sha this table describes is the one in commit provenance above.
fallback replay debt ⚪ n/a n/a — no fallback queue on this machine: the pending memories live in ~/Gits/*/docs.local/decisions, and docs.local/ is gitignored, so a runner checkout has no copy of them to count docs.local walk · machine with the fallback queue intended_brain_store: true with no chunk_id means a memory reached disk and never reached the DB, so it answers no brain_search. Budget: 0. Any pending or unparseable file is a finding, never a band -- 122 of these sat from 2026-06-28 to 2026-09-05 because nothing counted them where a reader would look. Measured by walking the tree, so it is only ever measured on a machine that HAS the tree.
mapped bytes ⚪ n/a n/a — no BrainBar daemon at /tmp/brainbar.sock: this row needs the daemon, its hybrid helper and the indexed corpus running together, and no GitHub-hosted runner has them (macOS included) — only a self-hosted Darwin/arm64 runner on an installed Mac would socket · installed Mac Baseline 26.2 GB — installed Mac, socket, 2026-09-03, after R2 drained 15,070 → 0. Up from 16.8 GB because the drain left more vectors mapped under the same cap: the change is the drain, not a leak. Not measured by this run.
search p50/p95 ⚪ n/a n/a — no BrainBar daemon at /tmp/brainbar.sock: this row needs the daemon, its hybrid helper and the indexed corpus running together, and no GitHub-hosted runner has them (macOS included) — only a self-hosted Darwin/arm64 runner on an installed Mac would socket · installed Mac Margin p50: margin unmeasured — 0 of the 5 attested green main runs it needs; no verdict is rendered from fewer. Margin p95: margin unmeasured — 0 of the 5 attested green main runs it needs; no verdict is rendered from fewer. Calibrated on MacBook-Pro.local at 2026-09-01T08:42:22Z under active_sprint_load (tests/fixtures/sprint_gate/corpus.json). Not measured by this run.
idle CPU ⚪ n/a n/a — no BrainBar daemon at /tmp/brainbar.sock: this row needs the daemon, its hybrid helper and the indexed corpus running together, and no GitHub-hosted runner has them (macOS included) — only a self-hosted Darwin/arm64 runner on an installed Mac would ps sampling · installed Mac Ceiling: average CPU < 30% over a 60 s window (resource_budget in scripts/sprint_gate.py), ratified and kept as a hard budget. Margin daemon: margin unmeasured — 0 of the 5 attested green main runs it needs; no verdict is rendered from fewer. Margin helper: margin unmeasured — 0 of the 5 attested green main runs it needs; no verdict is rendered from fewer. Margin watcher: margin unmeasured — 0 of the 5 attested green main runs it needs; no verdict is rendered from fewer. Needs the BrainBar daemon, helper and watcher actually running. Not measured by this run.
signature_valid 🟢 GREEN 442 valid / 0 invalid · brainlayer 1.5.24 · macos-15/ARM64 · brew install exited non-zero (outcome: failure); the keg installed and the sweep ran after it codesign · brew keg · GitHub macOS runner scripts/release-verify-signatures.sh <keg> codesign-verifies every *.so/*.dylib under libexec/venv. The macOS parity job installs the published tap formula (etanhey/layers/brainlayer), so this row measures the release path — formula, published sdist and Homebrew's relocation — and not this PR's tree. Release-time baseline for the same keg on a different machine: 442 valid / 0 invalid — installed Mac (M4 Max), brew --prefix brainlayer 1.5.11, 2026-09-03.

🟢 GREEN measured, within budget · 🔴 RED measured, out of budget — a finding to clear before merge · ⚪ n/a not measurable on this machine, never guessed.

No RED rows.

Measured on Linux/x86_64 · measured 8858a283649c · PR head 8858a283649c · checkout 4ffa665de888 · run · updated 2026-09-14 04:18:09 UTC

@EtanHey
EtanHey merged commit cde528b into main Sep 14, 2026
20 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS Tight-loop PR size: 50 or fewer hand-written lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant