Skip to content

chore(release): bump version to 1.5.14 (XS) - #769

Merged
EtanHey merged 1 commit into
mainfrom
wt/release-1.5.14
Sep 5, 2026
Merged

chore(release): bump version to 1.5.14 (XS)#769
EtanHey merged 1 commit into
mainfrom
wt/release-1.5.14

Conversation

@EtanHey

@EtanHey EtanHey commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Why this release exists

The installed keg on both Macs is 1.5.13 / build_sha 3126ac1b, which predates #759. Verified:

$ git merge-base --is-ancestor d04cb310 3126ac1b   # -> false
$ /opt/homebrew/opt/brainlayer/libexec/venv/bin/python -c \
    "import brainlayer; print(brainlayer.__version__, brainlayer.__build_sha__)"
1.5.13 3126ac1bf55d2530223d3a11ff7a66346d109ee0

So launchctl enable com.brainlayer.watch today would start the OLD watcher — the one that burned 38% of a core. 1.5.14 is what carries #759 (d04cb310: prune-on-timer, denylist memo, basicConfig, --poll clamp) and #761 (3ee7c279) onto the machines. The release is a prerequisite for enabling ingestion, not a formality.

What changed

Version only, all six sites: pyproject.toml, src/brainlayer/__init__.py, server.json (root + packages[0]), brain-bar/bundle/Info.plist (CFBundleShortVersionString, CFBundleVersion, BrainLayerReleaseVersion).

Casks/brainbar.rb stays 1.5.9 — no Swift change this release — declared to the guard with:

BRAINLAYER_VERSION_CHECK_CASK_LAG_REASON="no BrainBar release for 1.5.14"

Recorded here rather than exported into a push environment on purpose. git push hands its env to the pre-push hook and on to pytest, where test_version_check_fails_loudly_when_cask_version_drifts and test_version_check_still_fails_for_a_lagging_cask_without_a_reason assert the check fails when a cask lags without a declared reason. An ambient value satisfies them wrongly and turns both red. It belongs in the release runbook, not the shell.

What this release does NOT do

brew upgrade does not re-render an existing plist. The installed com.brainlayer.watch.plist on the M4 is dated Sep 1 and still carries --poll 1.0, while the template shipped by #759 carries --poll 30. Each Mac therefore needs scripts/launchd/install.sh watch after the keg upgrade, proven by plist mtime and ProgramArguments, before the watcher is enabled. The #759 clamp would catch 1.0 with a loud WARNING — that is a safety net, not the fix.

Evidence

  • scripts/brainlayer-version-check.sh -> PASS: "BrainLayer/BrainBar 1.5.14 release metadata is consistent (cask 1.5.9 lag allowed: no BrainBar release for 1.5.14)"
  • tests/test_version_consistency.py14 passed
  • Scoped pre-push gate green. Rebased onto 5de84cb4 (fix(prepush): map src/brainlayer/__init__.py to the version-consistency suite (XS) #762), so the changed-only mapping now selects test_version_consistency.py + test_build_sha.py for this very bump instead of escalating to the full 4,386-test suite.
  • v1.5.14 confirmed absent locally and on origin, so the publish workflow's tag/version equality check has a clean target.

Size

XS — 4 files, version strings only.

@coderabbitai review


Opened by brainlayerClaude-f24db09b running claude-opus-5.


Note

Low Risk
String-only version bumps with no runtime or security logic changes in the diff.

Overview
Release metadata only: bumps BrainLayer from 1.5.13 to 1.5.14 everywhere the shipped version is declared.

Updates pyproject.toml, src/brainlayer/__init__.py (__version__), server.json (top-level and PyPI package entry), and BrainBar bundle Info.plist (CFBundleVersion, CFBundleShortVersionString, BrainLayerReleaseVersion). No application logic changes in this diff—intended so installs and MCP registry metadata match a release that includes prior watcher/ingestion fixes (#759, #761) described in the PR notes.

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

Note

Bump version to 1.5.14 across bundle, Python package, and server manifest

Updates version metadata from 1.5.13 to 1.5.14 in Info.plist, pyproject.toml, server.json, and the package __version__ constant in init.py. This is a release-prep metadata change with no functional behavior change.

Macroscope summarized 06f8c53.

All six sites: pyproject.toml, src/brainlayer/__init__.py, server.json
(root + packages[0]), brain-bar/bundle/Info.plist (short, bundle, release).
Casks/brainbar.rb stays 1.5.9: no Swift change this release, declared to
scripts/brainlayer-version-check.sh via
BRAINLAYER_VERSION_CHECK_CASK_LAG_REASON="no BrainBar release for 1.5.14".

Why a release, and why it blocks enabling ingestion. The installed keg on
both Macs is 1.5.13 / build_sha 3126ac1. Verified:
`git merge-base --is-ancestor d04cb31 3126ac1` -> false, so #759 (the
watcher fixes: prune-on-timer, denylist memo, basicConfig, --poll clamp)
is NOT in any installed keg. `launchctl enable com.brainlayer.watch`
today would start the OLD watcher, the one that burned 38% of a core.
1.5.14 is what carries #759 (d04cb31) and #761 (3ee7c27) onto the Macs.

What this release does NOT do. `brew upgrade` does not re-render an
existing plist. The installed com.brainlayer.watch.plist on the M4 is
dated Sep 1 and still says `--poll 1.0`. Every Mac needs
`scripts/launchd/install.sh watch` after the keg upgrade, proven by plist
mtime + ProgramArguments, before the watcher is enabled. The #759 clamp
would catch `1.0` with a WARNING; that is a safety net, not the fix.

Co-authored-by: brainlayerClaude running claude-opus-5 <noreply@anthropic.com>
@cursor

cursor Bot commented Sep 5, 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_ab3cdc88-eee2-4144-b7fc-27b38a5fb34c)

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 53 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: Team

Run ID: 2963e661-329a-48c3-96ce-97f0d22082bb

📥 Commits

Reviewing files that changed from the base of the PR and between ceeccfd and 06f8c53.

📒 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.

@deepsource-io

deepsource-io Bot commented Sep 5, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in ceeccfd...06f8c53 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade   Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
Python Sep 5, 2026 12:20p.m. Review ↗
Swift Sep 5, 2026 12:20p.m. Review ↗
JavaScript Sep 5, 2026 12:20p.m. Review ↗
Shell Sep 5, 2026 12:20p.m. Review ↗
Secrets Sep 5, 2026 12:20p.m. Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@EtanHey EtanHey added the XS Extra-small change (400 lines or fewer) label Sep 5, 2026
@github-actions

github-actions Bot commented Sep 5, 2026

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 🔴 RED checkout 3bbe19f2f92d is neither 06f8c53597b9 nor a merge of it — this run was triggered for a commit it does not have checked out 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.
provenance 🟢 GREEN stamped 3bbe19f2f92d == 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.
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 Baseline p50 911.887 ms / p95 3167.985 ms, captured 2026-09-01T08:42:22Z on MacBook-Pro.local 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 Budget: average CPU < 30% over a 60 s window (resource_budget in scripts/sprint_gate.py). Needs the BrainBar daemon, helper and watcher actually running. Not measured by this run.
signature_valid 🟢 GREEN 442 valid / 0 invalid · brainlayer 1.5.14 · 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.

1 RED row(s) to clear: commit provenance.

Measured on Linux/x86_64 · measured 06f8c53597b9 · PR head 06f8c53597b9 · checkout 3bbe19f2f92d · run · updated 2026-09-05 17:09:57 UTC

@EtanHey
EtanHey merged commit 3bbe19f into main Sep 5, 2026
19 of 21 checks passed
@EtanHey
EtanHey deleted the wt/release-1.5.14 branch September 5, 2026 13:04
@EtanHey EtanHey added the size:XS Tight-loop PR size: 20 or fewer hand-written lines changed label Sep 5, 2026
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: 20 or fewer hand-written lines changed XS Extra-small change (400 lines or fewer)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant