Skip to content

Clear four merged disposition rows, and record the retire gap squash-merge creates - #1697

Merged
njrini99-code merged 1 commit into
mainfrom
chore/clear-merged-disposition-rows
Aug 31, 2026
Merged

Clear four merged disposition rows, and record the retire gap squash-merge creates#1697
njrini99-code merged 1 commit into
mainfrom
chore/clear-merged-disposition-rows

Conversation

@njrini99-code

Copy link
Copy Markdown
Owner

Bookkeeping plus one finding. No production state, no migration.

All three PRs that were open in this repo are now merged#1659, #1678,
#1681 — along with #1696, whose transitional grace had expired. The residue
check flagged every one by name, using the remedy text added in #1692.

The gap the merges exposed

gh pr merge --squash --delete-branch removes the remote head ref. The
lifecycle tool looks a PR up by head={owner}:<branch>, which then matches
nothing:

no PR found — cannot prove the work landed   → UNKNOWN_PR → KEEP

Observed on #1681 — merged, tip exact, checkout clean — and --retire
correctly took no action, leaving a ~3.8 GiB worktree behind.

The refusal is right. UNKNOWN_PR means evidence was unavailable, and
AGENTS.md is explicit that this is never a licence to remove anything. The
defect is upstream of the verdict: the lookup depends on a ref that
delete_branch_on_merge removes at exactly the moment the branch becomes safe
to retire — the same shape as #1654's shipped defect, one level down.

Not fixed here. A lookup that also searched merged PRs by head SHA would close
it, since the classifier already keys on local tip === PR head OID. That
changes how the tool gathers evidence for branch deletion, and deserves its own
change rather than riding along in a bookkeeping PR.

Workaround until then: retire the worktree before merging, or merge without
--delete-branch.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NbDxyygyXRUEERuGocpZZH



All three PRs that were open in this repo — #1659, #1678, #1681 — are merged,
along with #1696, whose transitional grace had expired. The residue check
flagged every one of them by name, with the remedy text added in #1692 telling
a session exactly what to do about it.

Also records a gap the merges exposed. `gh pr merge --squash --delete-branch`
removes the remote head ref, and the lifecycle tool looks a PR up by
`head={owner}:<branch>` — which then matches nothing, so a worktree whose PR
just merged classifies UNKNOWN_PR ("no PR found — cannot prove the work
landed") and `--retire` correctly takes no action. Observed on #1681: merged,
tip exact, checkout clean, ~3.8 GiB left behind.

The refusal is right — UNKNOWN_PR means evidence was unavailable, and that is
never a licence to remove anything. The defect is upstream of the verdict: the
LOOKUP depends on a ref that delete_branch_on_merge removes at exactly the
moment the branch becomes safe to retire. Same shape as #1654's shipped defect,
one level down.

Not fixed here. A lookup that also searched merged PRs by head SHA would close
it, since the classifier already keys on `local tip === PR head OID` — but that
changes how the tool gathers evidence for branch deletion, and that deserves
its own change rather than riding along in a bookkeeping commit.

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

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
helmv3 Ignored Ignored Preview Aug 31, 2026 2:35pm

Request Review

@supabase

supabase Bot commented Aug 31, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project qmnssrrolpinvwjjnufo because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 9f954fab-a122-4ac9-af6a-2e2779915ce2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@njrini99-code
njrini99-code merged commit 98eb4c4 into main Aug 31, 2026
48 checks passed
@njrini99-code
njrini99-code deleted the chore/clear-merged-disposition-rows branch August 31, 2026 14:47
njrini99-code added a commit that referenced this pull request Aug 31, 2026
njrini99-code added a commit that referenced this pull request Aug 31, 2026
* chore(vercel): stop uploading 166 MB the build never reads

Answering "are all these files necessary?" — no. Measured 2026-08-31, the
upload was 6,667 files / 268 MB. It is now 5,712 / 101 MB.

NOT the worktree, which was the obvious suspect and is the wrong one:
worktrees live at ~/worktrees/helmv3/, OUTSIDE the repo, which is exactly why
AGENTS.md puts them there. Vercel uploads from the project directory and cannot
see them — and .vercelignore already covers .worktrees/ and .claude/worktrees/
from two earlier rejections anyway.

What it actually was, in two parts.

**docs/ — 1,698 files, 145 MB, 54% of the whole upload**, and more than half of
that binary: marketing mockup references, visual-audit screenshots, PDFs.
Nothing in the build reads it. Verified: no reference in next.config.mjs,
tailwind.config.ts, tsconfig.json or package.json (the two `docs/` hits in
next.config.mjs are comments about node_modules/next/dist/docs/); no import
from src/; no /docs route; no runtime readFile. Excluded from the UPLOAD only —
they stay tracked in git, which is where they are read.

**Five untracked tooling directories — 166 files, 21 MB.** .playwright-mcp
(browser logs from a debugging run in August), .agents, routes, .ruff_cache,
.momentic-mcp. Each is in .gitignore, which is precisely why each uploads: the
moment .vercelignore exists Vercel consults it INSTEAD of .gitignore, so "git
ignores it" stops meaning "Vercel ignores it". This is the third time that same
mechanism has been fixed in this file — .deepsec/ and .worktrees/ after the
2026-08-09 rejection, audit/ and tools/ after the 2026-08-20 stall — and it will
recur every time a new tool writes a new dotdir.

Safe by construction for those five: all have ZERO tracked files, so CI's
`Next build` already succeeds on a fresh clone that never had them.

Also corrects shipping.md, which claimed the repo is over the 15,000-file cap.
It was — 48,139 on 2026-08-03, 19,795 on 2026-08-09 — and has not been for some
time. A count in prose outlived the condition it described, which is §1's own
rule appearing in §5.

Verified: docs:path-drift 0, knowledge:check 0, markdown ratchet at baseline.

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

* chore(control-plane): clear #1697's expired transitional row, register #1698

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

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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