Repository navigation
feat(web): Squadron picker conversion — every creation door through the carrier - #35
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Essentials Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
c9b3ff2 to
14689b5
Compare
|
Posted by an AI agent on Jackson’s behalf. Final UI evidence is published additively on Manifest (all eight SHA256 checksums verified): SHA256SUMS
Frame 08 cannot prove the aria attribute because screenshots do not render accessibility attributes. The separate DOM assertion is: All archived captures were verified as true PNG image data at 1920×929. Evidence used isolated disposable state |
|
Posted by an AI agent on Jackson’s behalf. Evidence clarification: frames that visibly include |
234deb2 to
929619c
Compare
|
Posted by an AI agent on Jackson’s behalf. E7 final isolated live evidence is bound to source head
All eight image assets were checked as true PNG image data; each asset and the DOM-read text verifies against the manifest. |
|
Posted by an AI agent on Jackson’s behalf. Final isolated evidence is bound to PR source head 2a231814956749956235470370fe684eb7d823b7 and evidence commit ac681ff.
All nine images were verified as true PNGs and the manifest verified with shasum -c in the published evidence tree. Captured in disposable local state; no shared T3 home was used. |
2a23181 to
77e345f
Compare
|
Posted by an AI agent on Jackson’s behalf. Final live evidence for source head All PNG payloads were converted and verified as true PNGs; every raw URL below returned HTTP 200. Manifest · SHA256SUMS
Accessibility is a DOM/text assertion, not screenshot evidence: SquadronCreateForm accessible-name read records one |
What changed
Every in-reach web new-thread door now chooses a Registrar Squadron rather than a project-derived folder identity. The Command Palette, Sidebar toolbar,
chat.new,chat.newLocal, ChatHeader, index route, and Sidebar’sNew thread on <branch>action share the SQ1 draft carrier.The Sidebar branch action resolves its source thread’s immutable Registrar home, launches with that Squadron’s folder only as substrate, and stores the selected Squadron under the returned scoped thread key. Unknown/multi state opens the existing Squadron picker; a missing folder fails closed with a named error.
The orphaned
useThreadActionMenuhook — stranded by an upstream rewrite with zero call sites — is deleted rather than retained as a second implementation, together with this lane’s earlier edit inside it.threadActionMenu.logicremains as the live Sidebar menu contract. The reachable Sidebar branch path was separately fixed and verified.The ambient scope option is labeled
All Squadrons, following measured sentence case while preserving the J5 proper noun. The send-time ambient copy-and-freeze accommodation is removed: first send requires an explicit draft carrier or a known durable Registrar home, otherwise it fails loudly with “Choose a Squadron before sending.” The index’s ambient-selected auto-launch remains intentional. Squadron picker rows retain search and launch mechanics but no longer render folder second lines.Acceptance mapping
thread.projectIdas identity.All Squadrons; Squadron rows show names without folder captions.Inventory and dispositions
Converted: Command Palette search/new-thread menus; Sidebar toolbar, empty state, and branch-thread action; keyboard doors; ChatHeader; landing auto-launch; PR empty-state copy; Squadron creation folder copy; Squadron scope copy and picker row treatment.
Boarded with named returns (recorded on the lane’s working board; Jackson ruled queue admission — three enter the dogfood queue, two fold into the naming audit, one is parked for a product session): the scheduling-context selector, the pull-request Squadron query contract, LegacySidebar, settings/active-context substrate cleanup, the mobile Squadron directory/home carrier, and broader mobile/web noun cleanup.
Verification
At source head
af0d55cf0750595d01a174f4e691be5ce02ab7d3: Reviewer’s independent final battery is clean, all findings are closed or correctly refuted, focused tests/lint/formatting/typecheck pass, and the PR is mergeable. The protected zones are unchanged, the entry-point trace is dispositioned, and mutation tests discriminate the derivation, shortcut, carrier-key, loading-state, sixth-door, and ambient-accommodation guards.SquadronScope.logic.tsand its test remain byte-identical to the reviewed parent where required. FORK records the reachability proof, deleted-hook recovery originb2ee17d7c, and the measured copy decision.CodeRabbit was run exactly once at
14689b5147aa34fdeb3b2a680152dea166fef6a6; its findings were disposition-verified at later heads and no rerun was made.Live evidence
Final isolated evidence is published additively on
j5/evidenceat commit62ce29f26edf37d3c72791b88a9dd74ad9b286ac, underpr-35/af0d55cf0750595d01a174f4e691be5ce02ab7d3/. The README and SHA256SUMS manifest cover ten true PNG captures plus the accessible-name DOM/text assertion; all 13 published artifacts return HTTP 200 and checksums pass. The accessible-name assertion is text evidence rather than a screenshot: the DOM read verifies the exactChoose folderaccessible name.The captures cover shared-folder Alpha/Bravo choices, Bravo thread isolation, both keyboard doors, divergent-folder ChatHeader and index cases, multi-Squadron explicit choice, Sidebar branch carrier, ready-zero Create Squadron, and the
All Squadronsscope control.Built by Codex (GPT-5.6-terra) under Traycer; independently reviewed by Claude (Opus). Jackson retains merge authority.
Reactivation triage
Jackson’s reported source-picker geometry was measured against the PR head and base before any edit. The Local folder / Git URL / GitHub source picker is approximately 576×420px on the direct first-run path and approximately 518×378px when nested under Create Squadron; the Command/Dialog container classes and mounts are unchanged from base, so this remains a pre-existing SQ1/creation-surface layout issue. The Create Squadron dialog’s 512px max width, 384px form width, and left-aligned folder row are likewise unchanged from base and remain homed to that creation-surface work.
The ambient option’s behavior was traced rather than inferred: six converted creation doors ignore ambient scope, while landing/index intentionally consumes a valid selected ambient Squadron for auto-launch. Ambient remains a last fallback only in the pre-existing composer resolver, but the final send boundary no longer copies ambient into an unselected draft; such a draft fails loudly. Successful converted doors always set an explicit carrier. The Squadron row folder captions were removed per Jackson’s later ruling; folder data remains searchable through row search terms.
Ambient door trace
At the final head, Command Palette entries, Sidebar toolbar, both keyboard shortcuts, ChatHeader, and Sidebar branch actions use a durable Registrar home, the exact-one Registrar entry, or the explicit Squadron picker; none reads ambient scope for creation. Landing/index is the sole converted creation door that consumes a valid ambient selection and auto-launches directly into that Squadron, even when multiple Squadrons exist. With no determinate destination, index remains an explicit choice state. Composer inheritance still follows durable home > draft-local carrier > ambient for display, but first send now requires durable/draft-local state and never persists ambient as an accommodation.
Findings
All findings raised across the review rounds are closed or correctly refuted, including #220 (corrected to
All Squadrons). The single authorized CodeRabbit run produced nine findings; all were fixed or refuted at later heads with per-finding notes. No CodeRabbit rerun was made.The PR remains open for Jackson’s human approval and merge decision.
\n\nHard rule 7 note: the three later evidence attestations were corrected in place to open with “Posted by an AI agent on Jackson’s behalf.”; #221 is fixed and no source or evidence bytes changed.\n