Rule handbook metadata
- Rule
AI.APP.WORKFLOW_CONTINUITY· laneai- Page status
- stale
- page_version
c35c4eb008088d86aab8a090414d895b6d6a6162a117e0447c99c553e8f5c76b- generated_at
- 2026-05-19T20:15:00.000Z
- registry_fingerprint
6773fda516344e110b5a7b1435e655e1264e773825ca8bbe62194189891c42ba
How this rule is fixed
This is an AI-enabled rule. Pass/fail requires model judgment; there is no deterministic fixer in the pilot registry.
- Harness:
invoke-ai-ruleset-harness.shrunsdesign-rules/ai/run-design-ai-rule.shon the Before fixture and expects findings with matchingprincipleId. - Remediation: Cursor agent plans from
forge-ux-remediation.plan.mdafter sitewide audit — not handbook After copy.
Detection module: docs/design/ux-audit/ai-enabled-design-principles.md#ai-app-workflow-continuity. Scroll down for Before / After examples and Evidence and remediation steps.
Purpose
Kitchen Sink desktop interfaces (data-ks-type="desktop-interface", museum studio shell Msm, Lenses-style operator UIs) let users move across panels, tabs, and routes while staying inside one product. This AI rule judges whether those moves preserve sense of place: stable chrome, visible mode/tab state, and headings or breadcrumbs that answer “where am I in the workflow?”
Deterministic checks (DET.APP.PERSISTENT_CHROME, DET.NAV.BREADCRUMB, DET.CHROME.BOUNDARY) catch promised shell stability and breadcrumb presence; this rule covers judgment they miss: chrome that morphs on every tab, generic “Workspace” titles for every route, duplicate nav rails that disagree about location, or panel swaps that feel like a different application.
Plan: Crawl or screenshot each major route/panel; note chrome, title, breadcrumb, and active nav on entry and after navigation. Do: Keep header / nav stable; surface route context in main with breadcrumbs, Lens segments, or session labels. Check: Back/forward and tab changes never orphan the user—active item, heading, and breadcrumb trail align. Adjust: If the same disorientation repeats (e.g. missing active tab state), propose a deterministic DET.* candidate.
Passing signals
- Persistent shell regions (
data-shell-regions,data-shell-region) stay stable across routes when persistence is promised (DET.APP.PERSISTENT_CHROME). - Orientation cues in main: page-specific h1 or h2, Forge breadcrumb trail, or
ks-workspace-lens__segment--activeshowing the current mode. - Tab or Lens mode switches update active state only in the control band; header product name and side session rail do not reset.
ks-wizard-flow__session-listhighlights the active session.- Chrome boundaries keep nav and aside distinct from workspace content (
DET.CHROME.BOUNDARY). - Deep links and browser back return to the same labeled context.
Failing signals
- Entire header or side nav replaced when switching tabs or Lens segments.
- Every route shows the same generic title with no breadcrumb or active nav marker.
- Competing nav rails point to different current places.
- Panel swap clears session context.
- Modal or offcanvas route hides orientation cues with no aria-current or return label.
- Forward navigation lands on content with no heading tie-back to the prior step.
Before example
Before (failing example)
Console
Workspace
Content for the selected tab appears here with no trail or active marker.
Failing KS markup: tab switch rebuilds chrome; no breadcrumb, active state, or route-specific heading.
After example
After (passing example)
Workspace Lens Flow
Docs health job
Step 3 of 5
Review argv and queue placement before run.
Passing KS markup: stable chrome, breadcrumb, route title, Lens active segment, and session rail.
Evidence and remediation
Capture: screenshots for at least two routes or tab states in the same shell; record URL, visible breadcrumb, active nav/tab markers, and whether header/nav DOM structure changed. Note browser back behavior.
Remediate (in order):
- Stabilize chrome: keep header and side nav DOM stable; swap only main content on route or tab change.
- Add or fix orientation: Forge breadcrumb, route-specific h1, aria-current on active Lens segment or session item.
- Align competing nav rails (
DET.NAV.DEDUPcandidate if labels diverge). - Re-check
DET.APP.PERSISTENT_CHROMEandDET.NAV.BREADCRUMBwhere contracts require them. - If tab or panel disorientation repeats, propose a deterministic companion.