Replace 15 feature-dump guides with 43 problem-oriented how-tos grouped under 10 categories. Drop Maintenance Flows / AI Assistant / Flow Assist Sparkles — those surfaces no longer exist post-FlowPilot pivot. Rename Step Library → Solutions Library throughout. Correct every "click X in the sidebar" reference to match live labels (Home, History, Tickets, Flows, Scripts, Data, Acct). Schema: add `category: CategoryId` and optional `relatedSlugs` to Guide; new Category type and `categories` const drive hub ordering. GuidesHubPage renders category sections (auto-hides empty); GuideDetailPage renders a related-guides footer when set; GuideCard drops the misleading "N sections" subtitle. Fix step.tip markdown rendering — `**bold**` rendered literally because tip used plain text instead of the same regex replacement used on instruction. 14 net-new how-tos for FlowPilot-era surfaces with no prior coverage: tasklane keyboard flow, view-what-we-know, ask-AI mid-session, pause-and-leave, resolve, record-fix-outcome, escalate (Escalation Mode), post-docs-to-ticket, send-client-update, build-script-from-scratch, open-suggested-flow, pin-a-flow, invite-teammate. Browser-verified against engineer + owner test users (sidebar labels, account sub-pages, pilot-screen header buttons, Tasks panel, integration form). tsc clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.9 KiB
HANDOFF.md
Last updated: 2026-05-02 (post-guides-rewrite, uncommitted)
Active task: None. The guide rewrite is complete; working tree dirty pending review/commit.
Where this session ended
In-product User Guides at /guides rewritten from 15 feature-dump guides → 43 problem-oriented Diátaxis how-tos under 10 categories. Schema extended (category, relatedSlugs), hub re-rendered with category headings, detail page gained a Related guides footer, tip-markdown rendering bug fixed. All changes browser-verified (engineer + owner) against live UI, every detail page renders without 404, tsc clean.
Working tree dirty. Files touched:
frontend/src/data/guides.ts(full rewrite ofguidesarray + newcategoriesarray + extended types)frontend/src/pages/GuidesHubPage.tsx(renders category sections, hides empty ones)frontend/src/pages/GuideDetailPage.tsx(related-guides footer, dropped section-count)frontend/src/components/guides/GuideCard.tsx(dropped section-count subtitle)frontend/src/components/guides/GuideSection.tsx(markdown bold now works in tips)CHANGELOG.md([Unreleased] entry added).ai/CURRENT_TASK.md("Recently shipped" entry added).ai/SESSION_LOG.md(session entry added).ai/HANDOFF.md(this file)
The user has not yet been asked to commit. When picking this up next session, check with the user before staging — they may want to ship as a single commit, branch + PR, or fold into another change in flight.
Resume point — DO THIS NEXT
-
Decide commit shape. Likely a single commit on a
feat/guides-diataxis-rewritebranch with PR. Pre-existing TODOs from the prior session (cleanup of #127, rewrite of #66, sections 3-5 of the issue cleanup plan) are unblocked again — pick up2026-05-01-issue-cleanup-plan.mdsection 3 (#58 structured "step is wrong" quality signals) once the guides land. -
Two follow-ups intentionally deferred from this session (worth picking up if a related touch happens):
change-teammate-rolehow-to was dropped because the test owner account has no non-owner members to inspect the role-change control. Once a teammate is invited viainvite-teammate, verify whether the Membership list exposes a Role dropdown (or some other control) for non-owners and add the guide back.- Resolve / Escalate modal contents are unverified. Browser couldn't drive Resolve to completion (test session has 6 pending Tasks gating it; clicking Resolve fired a toast). The how-tos point at the right buttons in the right place, but the exact modal copy and the Escalation Mode wedge specifics are based on project context, not live observation. Worth a quick spot-check the next time a clean test session is available.
-
/etc/hostsentry added on this code-server LXC.100.64.78.44 docker-01— should now persist; HANDOFF.md previously claimed it was already there but wasn't. If/browseagainstdocker-01:5173ever fails to resolve again, re-add it viasudo teefrom a real terminal (the!shell prefix can't drive interactive sudo on this LXC).
Environment notes (carry-forward)
- Code-server LXC has bun + docker but no native
python/node/npm. Usedocker exec resolutionflow_{backend,frontend} …for build/test commands. - No
ghCLI on this LXC — use the Gitea API ($GITEA_TOKEN) for PR/issue work, or runghfrom a host that has it. - Headless Chromium (
/qa,/browse) needsCONTAINER=1in the env launching the browse server (LXC namespace constraint). /etc/hostshas100.64.78.44 docker-01so the headless browser resolves the bake-inVITE_API_URL. Confirmed persistent as of this session.- Multi-head alembic state on
main(heads070,c0f3a4b7e91d,024) is pre-existing. Usealembic upgrade heads(plural) ifheadcomplains.