# Issue Cleanup Plan - 2026-05-01 ## Tracker Hygiene These are safe tracker updates before any feature work: 1. Close Gitea #127 (`feat: show AI content scope indicator`) unless an always-visible badge is still desired. - Current code already has IT/MSP scope copy in the assistant empty state. - `ASSISTANT_SYSTEM_PROMPT` also has an off-domain redirect boundary. 2. Rewrite Gitea #66 (`Tree Templates + Import/Export`) to the remaining scope only. - `.rfflow` export/import is implemented in `tree_transfer.py` and exposed in the library UI. - Remaining work: curated packs, authenticated one-click install from gallery, template versioning, marketplace/community path. 3. Close or archive open PR #124 (`feat/cockpit-harness`). - It is unmergeable against current `main` and overlaps newer `/pilot` work. 4. Keep Gitea #58, #60, #128, #129, #130 open. - They still describe real product gaps. ## Recommended Order ### 1. Low-Risk Maintenance - Status: started 2026-05-01. - Frontend lint is clean after removing stale disable comments and tightening hook dependencies. - Added `data-testid` selectors for e2e-critical session history and FlowPilot command-palette controls. - Added `AssistantChatPage` observability for unexpected `currentChatRef` guard mismatches so stale async discards are visible in the console. Why first: these reduce future regression cost and are small, well-bounded changes. ### 2. Pilot UX Friction - Status: started 2026-05-01. - #130: Added diagnostic command help affordances in `TaskLane` action cards. Each active diagnostic card can explain what it checks, what to look for, and when to use it. - #128: Keep the existing responsive drawer behavior for now. `TaskLane` already uses a side panel on wide screens and a bottom drawer below the desktop breakpoint; do not add a top/side preference unless pilot feedback shows the current responsive layout is blocking workflow. - EscalationQueue mobile design stays deferred until a customer asks for it. Why second: this improves the current FlowPilot wedge without changing core data models. Validation run: - `docker exec -w /app resolutionflow_frontend npm run lint` - `docker exec -w /app resolutionflow_frontend npx tsc -b` - `docker exec -w /app resolutionflow_frontend npm run build` ### 3. Workflow Quality Signals - #58: Add structured "step is wrong" flags separate from thumbs-up/down helpfulness. - Existing `StepFeedback` is not enough; it only records helpful/unhelpful and cannot capture incorrect/outdated/unclear/missing-info reasons. Why third: useful, but needs schema/API/UI/admin surfaces. ### 4. Client Intelligence - #60: Recurring issue detection. - Start with a read-only banner using existing `sessions.client_name + tree_id` filters. - Add same-resolution detection only after confirming the available session outcome/node data is reliable enough. Why fourth: high value, but it touches session-start and close-out flows and needs careful false-positive handling. ### 5. Documentation Structure - #129: Hierarchical guide navigation. - Current `/guides` route is a card grid plus detail pages with sections and breadcrumbs, but not a collapsible guide tree. Why fifth: valid UX request, but less urgent than pilot workflow gaps. ## Gitea Actions Needed The current environment does not have a Gitea token configured, so API writes fail with `401 token is required`. Once authenticated: ```bash curl -X PATCH \ https://gitea.resolutionflow.com/api/v1/repos/chihlasm/resolutionflow/issues/127 \ -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"state":"closed"}' ``` For #66, prefer editing the title/body instead of closing it: - Title: `feat: curated template packs and one-click install` - Body: remove completed `.rfflow` export/import acceptance criteria and keep pack/install/versioning work.