foolish-bandit/gary: /explain shell completes the guided-workflow trio
Commit `b3287856` adds a 159-line `/explain` page -- the third and last of foolish-bandit's guided workflow shells. Paste legal text, optionally provide context and goal, and the page assembles a structured prompt and routes to the chat.
The page is simpler than /review and /draft. There's no stepper, no document type selection. A single textarea takes the legal text; three optional fields accept context/document type, goal, and preferred tone. The assembled prompt has a fixed structure line: "Use this structure: What it says, Why it matters, What could go wrong, Possible revision."
Implementation follows the same pattern as the other shells: useAssistantChat.handleNewChat builds the chat, router.push redirects to /assistant/chat/{id}. The error path now surfaces BACKEND_UNAVAILABLE_MESSAGE -- "This will be available once GaryOSS is connected to the backend." -- which this commit also backfills into the draft and review error paths (replacing the earlier "Could not start..." strings).
The /explain route gets wired into InitialView.tsx as a fourth action card. Across the same diff, a merge commit from PR #13 also folds in UI/UX fixes from a broader polish PR.
All three shells (/review, /draft, /explain) are independently importable. None requires the others, and none requires backend changes. The prompt structure is the only opinionated piece -- each is defined as a constant in the page file and is easy to replace.
Spotted something wrong? Or know the PR text has fresher detail than the writeup above?