Skip to content

fix(core): merge the alembic heads left by #1440 and #1444 - #1447

Merged
phernandez merged 1 commit into
mainfrom
fix/alembic-merge-heads
Sep 3, 2026
Merged

fix(core): merge the alembic heads left by #1440 and #1444#1447
phernandez merged 1 commit into
mainfrom
fix/alembic-merge-heads

Conversation

@phernandez

Copy link
Copy Markdown
Member

Summary

Main has two Alembic heads: w6k7i8n9d0a1 (#1444, search_index row-kind uniqueness) and x7d8e9f0a1b2 (#1440, via w6r7e8a9d0y1). Both revise v5o6b7s8d9e0. Alembic refuses upgrade head with two heads, so every fresh database on main fails to initialize with Multiple head revisions are present.

Each PR was green on its own because the test suite builds schemas with create_all and stamps them; nothing runs the real upgrade against the merged graph (the #1445 gap). The #1398 confirmation eval was the first thing to do so, and died at bm mcp startup.

Fix

  • y8f9a0b1c2d3 is a no-op merge revision with both heads as parents. A merge rather than a re-parent, so a database already stamped at either head still receives the other branch's changes.
  • tests/test_migration_graph.py asserts the graph has one head and every revision is on the path from base to it. Fails on a92b1acb naming both heads; passes here.

Verification

  • just doctor on this branch: fresh database initialized through upgrade head, all checks pass.
  • just fast-check clean.

Part of #1438. Related: #1445.

🤖 Generated with Claude Code

https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp

Both PRs added a migration off v5o6b7s8d9e0 and merged separately, so main
had two heads (w6k7i8n9d0a1 and x7d8e9f0a1b2). Alembic refuses `upgrade head`
with two heads, so every fresh database on main failed to initialize. Each PR
was green because the suite builds schemas with create_all and stamps them;
nothing ran the real upgrade against the merged graph. The first thing that
did was the #1398 confirmation eval, which failed at `bm mcp` startup.

- y8f9a0b1c2d3 is a no-op merge revision with both heads as parents. A merge,
  not a re-parent, so databases already stamped at either head still receive
  the other branch's changes.
- tests/test_migration_graph.py asserts one head and that every revision is
  on the path from base to it. Verified failing on a92b1ac (names both
  heads) and passing here.
- `just doctor` on this branch initializes a fresh database through
  `upgrade head` and passes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014pmKq6bqCi6Zp6BTHuZjrp
Signed-off-by: phernandez <paul@basicmachines.co>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T15:40:59.564009Z ad07768 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@phernandez
phernandez merged commit 9762871 into main Sep 3, 2026
25 checks passed
@phernandez
phernandez deleted the fix/alembic-merge-heads branch September 3, 2026 16:17
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