Skip to content

docs: replace the search-bar handoff with a durable decisions record - #1609

Merged
cursor[bot] merged 5 commits into
mainfrom
claude/search-bar-decisions-doc
Aug 4, 2026
Merged

docs: replace the search-bar handoff with a durable decisions record#1609
cursor[bot] merged 5 commits into
mainfrom
claude/search-bar-decisions-doc

Conversation

@BigSimmo

@BigSimmoBigSimmo commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Summary

The new doc was verified against current main rather than copied forward. appliedFilters / onClearFilters still have exactly the two production consumers it claims (document-search-results.tsx, therapy-compass/screens/search-screen.tsx, plus gate-exempt mockups), and the Open source library control is still present.

Docs only — no source, test, or configuration files change.

Verification

  • npm run verify:pr-local

Verification not run: verify:cheap was started on this tree and did not complete — its log ends part-way through lint with no lint result, no typecheck, and no unit-test tally, so it is not being reported as a pass. The checks that cover this diff were run directly on this exact tree and are quoted below.

  • npx prettier --check . (whole tree) — All matched files use Prettier code style!
  • npm run check:outstanding-issues228 rows (100 open, 128 archived), unique ids, next-id=231 above the highest, no merge driver, no ids deleted from base 130c7746d9f4
  • npm run docs:check-linksdocs link check passed: 1615 repo path references resolve.
  • npm run docs:check-indexall 50 repository roots/modules/routes and all schema tables are indexed

UI verification not run: no UI, routing, styling, or browser behaviour changes in this diff.

Risk and rollout

  • Risk: low. Documentation and the outstanding-issues ledger only. The deleted file has no inbound references from docs/, .github/, scripts/, src/, or tests/.
  • Rollback: revert this commit; the deleted file returns with it.
  • Provider or production effects: None.

Notes

#230 was allocated off current main (next-id=230). An earlier attempt on a stale branch had allocated #186, which main had since taken for an unrelated row — the read-modify-write allocation hazard recorded in #156, reproduced here.


Open in Devin Review

Summary by CodeRabbit

  • Documentation
    • Added architecture documentation describing search-results header anatomy, filter controls, state indicators, sorting, and mode-specific behavior.
    • Updated the documentation index to include the new search-results decisions document.
    • Replaced the outdated search-bar handoff documentation with an issue and review record covering the transition and verification status.
    • Documented an issue involving automated pull-request description updates overwriting existing content.

`docs/handoff-search-bar.md` shipped to main in #1555. It existed to carry one
unverified commit across a session boundary, and its instructions are now false:
it tells the reader that `6917e732` is unverified and that no PR should be
opened on it, when #1555 merged exactly that work. Leaving it in the repo means
the next person to read it acts on stale gate status.
Its durable content — results-bar anatomy, why the filter shelf covers two modes
rather than eight, and the two things deliberately not done (the library button
stays until nav can preserve the query; Sort does not move into the phone sheet
from the shared band) — moves to docs/search-results-bar-decisions.md, verified
against current main rather than copied forward: `appliedFilters`/`onClearFilters`
still have exactly the two production consumers the doc claims, and the
`Open source library` control is still there.
Also records the PR-policy body defect that #1555's handoff flagged but never
captured: ci.yml's body-sync job reads PR_POLICY_BODY.md from the PR head, so
committing that scratch file to main (#1546) replaced every open PR's
description, and pr-policy.mjs parses the body as merge-gating input. #1548
deleted the file; nothing stops the next branch adding one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@supabase

supabaseBot commented Aug 4, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy 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 ↗︎.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

@devin-ai-integrationdevin-ai-integrationBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@coderabbitai

coderabbitaiBot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

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

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in:57 minutes

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b773166d-f12f-40c4-ace2-3c81276246d1

📥 Commits

Reviewing files that changed from the base of the PR and between 9f5c457 and 4183ec1.

📒 Files selected for processing (3)
  • docs/branch-review-ledger.md
  • docs/outstanding-issues.md
  • docs/search-results-bar-decisions.md
📝 Walkthrough

Walkthrough

The PR replaces the search-bar handoff with decision documentation, indexes the new document, records the review outcome, and adds issue 230 about pull-request policy synchronization.

Changes

Search results decisions

Layer / File(s)Summary
Search-results-bar decision record
docs/search-results-bar-decisions.md, docs/README.md, docs/handoff-search-bar.md
The new document records SearchResultsHeaderBand behavior, filter-shelf scope, supported modes, state flow, and retained library and sort behavior. The architecture index links to it, and the previous handoff document is deleted.
Review and issue records
docs/branch-review-ledger.md, docs/outstanding-issues.md
The review ledger records the handoff replacement and verification status. The issue ledger adds issue 230 and advances the next issue identifier to 231.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • BigSimmo/Database#839: Modifies the search-results header and UniversalSearchAlsoMatches, which the decisions document covers.
  • BigSimmo/Database#936: Redesigns the results-header controls documented by this PR.
  • BigSimmo/Database#1184: Implements unified search filters related to the documented SearchResultsHeaderBand decisions.

Suggested reviewers:cursoragent

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
Title check✅ PassedThe title clearly summarizes the primary change: replacing the stale search-bar handoff with durable decisions documentation.
Description check✅ PassedThe description covers the summary, verification results and limitations, risk, rollback, production effects, and explains why clinical governance checks do not apply.

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

@chatgpt-codex-connectorchatgpt-codex-connectorBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit:7fc0dbbf48

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment threaddocs/search-results-bar-decisions.md Outdated

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/branch-review-ledger.md`:
- Line 621: The branch review row for claude/search-bar-decisions-doc claims the
checks passed "with quoted output" but contains no actual output lines from the
verification commands. Either add the decisive summary output line from each
passed check (prettier --check, check:outstanding-issues, docs:check-links,
docs:check-index) following the verification commands, or remove the "with
quoted output" phrase from the row to align the claim with the actual recorded
evidence.
In `@docs/outstanding-issues.md`:
- Line 250: Update the issue `#230` description to scope the impact to PR branches
whose heads contain PR_POLICY_BODY.md, rather than claiming that committing the
file to main affected every open PR. Preserve the existing incident details, and
only mention broader impact if the documented CI checkout path or another
verified path establishes it.
In `@docs/search-results-bar-decisions.md`:
- Around line 32-37: Reconcile the search-mode count in the document. The
introduction references "all twelve search modes" but the scope decision in
lines 34-37 accounts for only eight modes (two shelf modes plus six non-shelf
modes). Either identify and document the scope decisions for the remaining four
modes and their shelf behavior, or correct the total count from twelve to eight
if that is the actual number of search modes. Ensure the section completely
describes the scope boundary for every mode mentioned in the introduction.
- Around line 59-62: Update the statement in the search-results-bar-decisions
documentation about documents and therapy-compass having phone filter sheets to
clearly indicate this is a target decision for future implementation, not
current documented behavior. Alternatively, verify that issue `#170` in the
outstanding-issues document has been closed and updated to reflect the current
state of phone filter sheets across all modes, ensuring the current-state
contract remains accurate for future changes that depend on it.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8d5eb8fc-757f-4707-8dc9-9e2de5cc8083

📥 Commits

Reviewing files that changed from the base of the PR and between 130c774 and 9f5c457.

📒 Files selected for processing (5)
  • docs/README.md
  • docs/branch-review-ledger.md
  • docs/handoff-search-bar.md
  • docs/outstanding-issues.md
  • docs/search-results-bar-decisions.md
💤 Files with no reviewable changes (1)
  • docs/handoff-search-bar.md

Comment threaddocs/branch-review-ledger.md
Comment threaddocs/outstanding-issues.md Outdated
Comment threaddocs/search-results-bar-decisions.md Outdated
Comment threaddocs/search-results-bar-decisions.md Outdated
@BigSimmo
BigSimmo requested a lite review from CopilotAugust 4, 2026 14:32
@BigSimmo

Copy link
Copy Markdown
OwnerAuthor

@cursoragent run bugbot and ensure its findings are correct

Please also fix any issues, address and fix any comments and resolve once done. Ensure no regression and it makes sense according to PR for any fix in context and also fix failing CI please.

@BigSimmo
BigSimmo enabled auto-merge (squash) August 4, 2026 14:33
@cursor

cursorBot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Taking a look!

Open in WebOpen in Cursor

@BigSimmo

Copy link
Copy Markdown
OwnerAuthor

@cursoragent fix failing merge conflict

@cursor

cursorBot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Nothing left to fix — PR #1609 is already merged.

The earlier DIRTY status was from tip 9f5c4572 being behind main. That was resolved by merging origin/main, pushing 4183ec1d, and squash-merging at 2026-08-04T14:39:47Z. The failure note in this message is stale.

Open in WebOpen in Cursor

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR replaces an outdated session handoff document about the search results bar with a durable “decisions record”, and captures a related CI/workflow hazard as a new outstanding issue entry. The intent is to keep the docs accurate over time by moving long-lived rationale out of a stale handoff and into the architecture documentation index.

Changes:

  • Delete the stale docs/handoff-search-bar.md handoff document.
  • Add docs/search-results-bar-decisions.md documenting stable design/behavior decisions for SearchResultsHeaderBand, and index it under Architecture.
  • Append outstanding-issues row #230 about the PR description sync hazard, and bump issues:next-id accordingly; record this doc-only review in the branch review ledger.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
docs/search-results-bar-decisions.mdNew durable decisions record for the shared search results bar (anatomy, scope rationale, “not done” items).
docs/README.mdAdds the new decisions doc to the Architecture index.
docs/outstanding-issues.mdBumps issues:next-id to 231 and adds open issue #230 describing the PR body sync hazard.
docs/handoff-search-bar.mdRemoves the outdated handoff doc whose gate/branch instructions are no longer correct.
docs/branch-review-ledger.mdRecords this docs-only review/change entry.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Reconcile the twelve results-band modes with shelf scope, name the three
sheetless Sort consumers, tighten #230 to heads that contain
PR_POLICY_BODY.md, and update #170 so documents/therapy sheets match code.
@cursor
cursorBot disabled auto-merge August 4, 2026 14:38
@cursor
cursorBot enabled auto-merge (squash) August 4, 2026 14:38
@cursor
cursorBot merged commit c4d4592 into mainAug 4, 2026
94 checks passed
@cursor
cursorBot deleted the claude/search-bar-decisions-doc branch August 4, 2026 14:39
BigSimmo pushed a commit that referenced this pull request Aug 5, 2026
…ix review findings
Reviewed the full findings list; fixed the ones I agree with and left the rest,
with reasons in the PR thread.
**Tap floor on the recovery actions.** `emptyStateAction` was 36px. Pre-existing,
but it stopped being incidental when this branch made those controls the
designated way out: on the documents zero-result and filtered-to-zero paths they
are the only escape, and on therapy-compass `Clear search` is the only one for a
query-only zero result. Shipping the escape hatch below the floor the same change
raised the facets, find field and disclosure headings to contradicts the rule this
PR argues for in its own description. Now `min-h-tap sm:min-h-9`, matching the
facets, pinned by a test.
**Sheet-footer Library rendered a full border, not the intended rule.** `cn` is a
plain join, so `floatingControl`'s own `border` survived the added `border-t` and
the result was a fully bordered button whose colour depended on Tailwind's
emission order between two competing arbitrary utilities — the exact hazard the
facet-chip branches in the same file are written to avoid. `border-0 border-t`.
**"No matches" asserted while the registry was still loading.** On the services
and forms paths `loading` covers only the document search, so this branch rendered
"No matches for …" directly beneath a spine reading "Searching…", which derives
its status from `recordStatus`. The band's invariant is that a search in flight
asserts nothing; the body now holds to it too.
**Therapy quick-filter `Clear` was a no-op with no filters active.** Rewiring it
to `clearSearchFilters` fixed the label/handler mismatch and created a second one:
in the ordinary "typed a query, got results" case the control did nothing at all.
Gated on `activeFilterCount > 0`, as the sheet's `Clear all` already is.
**Two stale docs**, both the trap #1609 records. `search-chrome-behaviour.md` item
7 still described the deleted full-width `border-top` accent and the old
forced-colors values; it now describes the lead mark, `6px double` faulted, and
the card's `4px double`. The `globals.css` band banner still claimed 580 as the
heaviest weight and that the query and figure share it — both changed.
**`SearchXIcon` deleted**: the therapy empty-state swap left it with no consumer,
and `check:knip` does not gate unused exports.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qm3i3eLCDcwytzge1sKM4a
Sign up for freeto 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.

3 participants

@BigSimmo@cursoragent