Repository navigation
feat(fleet): retired crews collapse to one-line rows - #241
Conversation
A Squadron's retired crews rendered as tall cards on the Fleet page: name, an Open Captain button, a clamped brief, and the full roster, so seven retired crews filled the viewport. A retired crew can never be reactivated, and the Open Captain button led nowhere useful. Each retired crew is now a single native details/summary row showing the name, version, seat count, and retirement age. Opening the row reveals the full brief and the roster snapshot (seat, persona or custom seat, approval version, reason). The Open Captain button and its props are removed, and the two product definitions (fleet-page AC28, crews AC20) are rewritten in place to say a retired Crew offers no action. Built with Claude Fable 5.1 in Claude Code. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Claimed for review by Jackson with Claude Fable 5.1 and GPT-6-Astra (the crews review thread). Other agents: please skip this one. |
Jacksondr5
left a comment
There was a problem hiding this comment.
One-line rows for retired Crews are right, and native details/summary matches what this page and upstream already use for collapsible rows. Approving.
One thing to bring back in a follow-up: with the Open Captain button gone, a Crew that retired through its Captain's archive has its Captain thread, and so its ledger, reachable only through Settings → Archived, while AC20 still promises the ledger stays readable. The row could name the Captain with a plain link; FleetCrew.captainThreadId is still on the contract.
Reviewed by Claude Fable 5.1 in Claude Code, with an independent pass by GPT-6-Astra in Codex.
A retired Crew's row opens to a Captain line. While the Captain thread is active it is a plain link to that thread, which holds the Crew's ledger (Crews AC20). Archived threads are not in the active thread shells and the thread route redirects home for them, so an inactive Captain gets a plain note pointing to Settings → Archived instead of a link that would bounce. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Agreed, and I brought it back in this PR rather than a follow-up (8ce95a0). Opening a retired Crew's row now shows its Captain first, as a plain link to the Captain's thread. One wrinkle: archived threads aren't in the active shell, and the thread route sends you home for them, so a bare link to an archived Captain would bounce. When the Captain is archived, the row says so and points to Settings → Archived to unarchive it and read the ledger. AC28 and AC20 now say exactly that. With #254 settling on option A, a retiring Crew's Captain is usually still live and the link just works. The after screenshots in the body predate this change; I'll refresh them. Merge order: this is the base of the fleet stack, so it merges first, then #244, then #242. Both of those will be rebased onto this commit. |
Jacksondr5
left a comment
There was a problem hiding this comment.
The Captain line is back, as a scoped link that flips on the shell push rather than the poll, and the archived case points at Settings → Archived because the thread route bounces archived threads. AC28 and AC20 say exactly that. Approving; refresh the after-screenshots when you get to it.
One small thing, inline: the row reads a missing shell as "no longer active", which is also what a shell that has not loaded yet looks like.
Reviewed by Claude Fable 5.1 in Claude Code, with an independent pass by GPT-6-Astra in Codex.
A missing Captain shell means archived, deleted, or not loaded yet. On a cold load or a remote reconnect the Fleet sources can arrive before the shell snapshot, so a live Captain briefly read as archived. The row now says the Captain is unavailable until every environment's shells have bootstrapped, and only then points to Settings → Archived. The archivedAt check is dropped: the active shells never carry an archived thread, so it could not fire. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Jacksondr5
left a comment
There was a problem hiding this comment.
Re-approving on 81e54a8. The row now distinguishes "shells not loaded yet" from "no longer active" through useAllEnvironmentShellsBootstrapped, so a live Captain no longer shows the unarchive instruction on a cold load. The after-screenshots still predate the Captain line; refresh when convenient, not blocking.
Reviewed by Claude Fable 5.1 in Claude Code.
Carried from j5/main db42f07 onto the upstream V2 candidate. Conflict: crews.md AC20 takes the PR's text with the handoff-artifact naming. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Joins fork head 2cf4ad7 (j5/main, including #247, #241, #244, #242, #214, #215, #216, #248, #249, #250, #251) with the reviewed candidate (j5/upstream-sync-20260924-candidate), which descends from frozen upstream 67a2be0. Upstream force-rewrote history, so per FORK.md's rewrite runbook the candidate was built from the upstream tree with pin 62aef85 as the content base, then carried each j5/main PR since 8f56083 onto it and adapted it to upstream V2. This merge's tree equals the candidate tree exactly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Squadron's retired crews rendered as tall cards at the bottom of the Fleet page: name, an Open Captain button, a three-line brief, and the full roster. Seven retired crews filled the whole viewport, and the Open Captain button led nowhere useful because a retired crew can never be reactivated.
Each retired crew is now one native details/summary row showing the name, version, seat count, and retirement age. Opening the row reveals the full brief and the roster snapshot (seat, persona or Custom seat, approval version, reason). The Open Captain button and its props are gone, along with the redundant "Crew ·" prefix under a heading that already says crews. The two product definitions (fleet-page AC28, crews AC20) are rewritten in place: a retired Crew offers no action. Only J5-owned files change, so the FORK.md inventory is unchanged. Mobile has no Crew surface.
Verified with the web app typecheck, lint on the changed file, the fleet logic tests, and a format check, plus a visual pass on a dev server seeded from real data.
Before
After, collapsed (default)
After, one row opened
Built with Claude Fable 5.1 in Claude Code.
🤖 Generated with Claude Code