Rule handbook metadata

Rule
AI.APP.WORKFLOW_CONTINUITY · lane ai
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.sh runs design-rules/ai/run-design-ai-rule.sh on the Before fixture and expects findings with matching principleId.
  • Remediation: Cursor agent plans from forge-ux-remediation.plan.md after 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--active showing 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-list highlights 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):

  1. Stabilize chrome: keep header and side nav DOM stable; swap only main content on route or tab change.
  2. Add or fix orientation: Forge breadcrumb, route-specific h1, aria-current on active Lens segment or session item.
  3. Align competing nav rails (DET.NAV.DEDUP candidate if labels diverge).
  4. Re-check DET.APP.PERSISTENT_CHROME and DET.NAV.BREADCRUMB where contracts require them.
  5. If tab or panel disorientation repeats, propose a deterministic companion.