Skip to content

Recapture uncommitted work from stashes, worktrees, and untracked files - #22

Merged
hbmartin merged 3 commits into
devfrom
recapture-lost-commits
Aug 21, 2026
Merged

Recapture uncommitted work from stashes, worktrees, and untracked files#22
hbmartin merged 3 commits into
devfrom
recapture-lost-commits

Conversation

@hbmartin

@hbmartin hbmartin commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Recaptures work that existed only in a stash, in untracked working-tree files, and in temporary worktrees — referenced by no branch and one git clean away from being gone.

Audit result

An audit of all 19 local branches and 4 worktrees found the raw dev..branch counts (up to 390 commits) to be almost entirely an artifact of the 2026-08-19/20 upstream rebase. Every commit that looked stranded turned out to already be on dev:

Commit Claimed missing Actually
d82b659f2 PR maximhq#6375 pre-auth hook on dev as 10901184f; 21/23 files identical, the 2 docs files are richer on dev
724052d70 runtime ownership repair cherry-picking it resolves to a tree byte-identical to dev
556373845 one-click templates 21/25 files byte-identical, other 4 are dev-ahead
0e689788d harness session ids on dev as 2a64316c4

So nothing needed cherry-picking. Everything below was uncommitted.

What this PR adds

docs(deploy) — restores the Render/Railway one-click buttons and the ## Hosted one-click choices comparison section from stash@{0}. Buttons and blueprint-verification.json now name dev: the recaptured markup pointed at tree/main, but this fork's origin has no main branch, so that button could never have resolved.

docsvectorstore-test-infra.md (198 lines), untracked in the working tree. Records why framework/vectorstore tests fail rather than skip without their databases, and that make test-all stops at the first failing target so a red run there is truncated rather than conclusive.

test(transports) — PR maximhq#6333 session-resolution review probes, untracked in a temp worktree. Both packages pass.

One of those tests was rewritten. As recaptured, TestReviewOversizedExplicitSessionIsAccepted asserted an oversized x-bf-session-id passes through verbatim — and it fails on dev, because the merged form of maximhq#6333 caps every ingestion path at schemas.MaxSessionIDLength (session IDs become KV keys and exported trace attributes that nothing downstream bounds). It now guards the behavior that shipped, with the original expectation recorded in a comment.

⚠️ This reverts a deliberate release gate — read before merging

validate-deployment-templates.py fails on this branch:

render.mdx publishes the Render sqlite one-click button while blueprint-verification.json records no verification

That is the gate from #19#21 working as designed. Every button's last_verified / verified_release is still null, and nothing here fabricates that evidence — the fields are untouched. The validator stops at the first error, so expect the same for the Render postgres and Railway buttons.

Fill those records from a real verified deploy before merging, or drop the docs(deploy) commit. The other two commits are independent of it.

Not included

The 1.6.x working tree held a genuine v1.6.12 backport (su-exec, BIFROST_CONFIG, privilege-drop tests, version bump) that cannot apply to a dev base without reverting the newer entrypoint. It is committed separately as 651100815 on codex/render-railway-1.6.x.

🤖 Generated with Claude Code


Summary by cubic

Recaptures uncommitted docs and tests, restores one‑click deploy buttons, and codifies session ID limits in new review tests. The previous review probe expected oversized x-bf-session-id to pass; the new test asserts rejection to match shipped behavior and avoid unbounded keys and attributes.

  • Restore Render/Railway one‑click buttons and “Hosted one‑click choices”; bind Render buttons and deploy/render/blueprint-verification.json to dev and render-sqlite.
  • Add transports/bifrost-http review tests and benchmarks: parse underscore header form, ensure websocket context drops harness session, and enforce schemas.MaxSessionIDLength (oversized explicit IDs are dropped with no harness fallback).
  • Add vectorstore-test-infra.md describing required services, known TLS Redis gaps, and that make test-all stops at the first failing target.
  • Required before merge: validate-deployment-templates.py currently fails because verification fields are null. Verify the live templates and populate last_verified/verified_release, or drop the docs(deploy) commit.

Written for commit c7aa3f6. Summary will update on new commits.

Review in cubic

Harold Martin and others added 3 commits August 20, 2026 15:34
…mparison

Recaptured from stash@{0}, which was WIP on the pre-rebase branch
codex/hume-evi-clm-review-fixes. Everything else in that stash is already on
dev in a later form; this was the only content that never landed.

- overview.mdx regains the "Hosted one-click choices" section and the two
  one-click support-matrix rows.
- render.mdx and railway.mdx regain the live deploy buttons, replacing the
  "not published yet" <Warning> blocks that PRs #19-#21 put in their place.
- The Render button and deploy/render/blueprint-verification.json now name the
  `dev` branch. The recaptured markup pointed at `tree/main`, but this fork's
  origin has no main branch, so that button could never have resolved.

CAVEAT: this reverts a deliberate release gate. validate-deployment-templates.py
fails on this branch because every button is published while its verification
record is still null. That is the gate working, not a bug - the records must be
filled in from a real verified deploy before this reaches dev. Nothing here
fabricates that evidence: last_verified and verified_release are untouched.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Recaptured from the main worktree, where it was untracked and referenced by no
branch. Records why framework/vectorstore tests fail rather than skip when the
backing databases are absent, that make test-all stops at the first failing
target so a red run there is truncated rather than conclusive, and how to bring
the stack up.

Measured on 2026-08-20 against dev at b157034; the note marks which rows are
observed and which are derived from the compose file rather than a real run.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…view tests

Recaptured from an untracked pair of files in the bifrost-pr6333 worktree. PR
maximhq#6333 itself is on dev as 2a64316; these review probes were never committed
anywhere and existed only on disk.

- The websocket auth context must not retain a harness-supplied session ID.
- ResolveSessionIDFromRequest must parse the underscore header form Codex CLI
  sends, which fasthttp header-name normalization does not fold; benchmarks
  compare the lowercasing iteration against a direct Peek.
- Oversized explicit x-bf-session-id handling.

The last one is rewritten. As recaptured it asserted that an oversized
x-bf-session-id was accepted verbatim, and it fails on dev: the merged form of
maximhq#6333 caps every ingestion path at schemas.MaxSessionIDLength because session
IDs become KV keys and exported trace attributes that nothing downstream
bounds. The test now guards the behavior that actually shipped - the oversized
value is dropped, and does not fall back to a harness header - with the
original expectation recorded in a comment.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your current included review allowance is based on your included PR review attempts over the past 7 days.

Next review available in: 32 minutes

Limit details: You’ve used the included review currently available. Your 60 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: f9a8349b-ef66-4b7d-92fc-00c0765ed7ec

📥 Commits

Reviewing files that changed from the base of the PR and between b48db1e and c7aa3f6.

📒 Files selected for processing (7)
  • deploy/render/blueprint-verification.json
  • docs/deployment-guides/overview.mdx
  • docs/deployment-guides/platforms/railway.mdx
  • docs/deployment-guides/platforms/render.mdx
  • transports/bifrost-http/handlers/session_resolution_review_test.go
  • transports/bifrost-http/lib/session_resolution_review_test.go
  • vectorstore-test-infra.md

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

@hbmartin
hbmartin merged commit 110dd66 into dev Aug 21, 2026
10 of 14 checks passed
@hbmartin
hbmartin deleted the recapture-lost-commits branch August 21, 2026 14:52
hbmartin added a commit that referenced this pull request Aug 21, 2026
fix: address PR #22 deployment and session review findings
hbmartin added a commit that referenced this pull request Aug 26, 2026
Recapture uncommitted work from stashes, worktrees, and untracked files
hbmartin added a commit that referenced this pull request Aug 26, 2026
fix: address PR #22 deployment and session review findings
hbmartin added a commit that referenced this pull request Aug 27, 2026
Recapture uncommitted work from stashes, worktrees, and untracked files
hbmartin added a commit that referenced this pull request Aug 27, 2026
fix: address PR #22 deployment and session review findings
hbmartin added a commit that referenced this pull request Sep 1, 2026
Recapture uncommitted work from stashes, worktrees, and untracked files
hbmartin added a commit that referenced this pull request Sep 1, 2026
fix: address PR #22 deployment and session review findings
hbmartin added a commit that referenced this pull request Sep 1, 2026
Recapture uncommitted work from stashes, worktrees, and untracked files
hbmartin added a commit that referenced this pull request Sep 1, 2026
fix: address PR #22 deployment and session review findings
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