- generic [active] [ref=e1]:
  - checkbox "Toggle sidebar ⌘B" [checked=mixed] [ref=e2]
  - navigation [ref=e3]:
    - list [ref=e4]:
      - generic "Toggle sidebar ⌘B" [ref=e5]
      - listitem [ref=e6]:
        - link "Roomfit v2 — Spec Map" [ref=e7] [cursor=pointer]:
          - /url: ./
    - generic [ref=e8]:
      - searchbox "Search" [ref=e9]
      - text: ⌘K
    - list [ref=e11]:
      - listitem [ref=e12]:
        - link "개요" [ref=e13] [cursor=pointer]:
          - /url: ./
      - listitem [ref=e14]:
        - link "화면" [ref=e15] [cursor=pointer]:
          - /url: ./screens
      - listitem [ref=e16]:
        - link "흐름" [ref=e17] [cursor=pointer]:
          - /url: ./flow
      - listitem [ref=e18]:
        - link "Use case" [ref=e19] [cursor=pointer]:
          - /url: ./use-cases
      - listitem [ref=e20]:
        - link "시나리오" [ref=e21] [cursor=pointer]:
          - /url: ./scenarios
      - listitem [ref=e22]:
        - link "데이터 흐름" [ref=e23] [cursor=pointer]:
          - /url: ./data-flow
  - generic [ref=e24]:
    - banner [ref=e25]: Roomfit v2 Spec — 자동 추출 + 수동 보강
    - complementary [ref=e26]:
      - navigation [ref=e27]:
        - generic [ref=e28]: Contents
        - list [ref=e29]:
          - listitem [ref=e30]:
            - link "화면 그래프" [ref=e31] [cursor=pointer]:
              - /url: "#-1"
          - listitem [ref=e32]:
            - link "미커버 transition (회귀 위험)" [ref=e33] [cursor=pointer]:
              - /url: "#transition"
          - listitem [ref=e34]:
            - link "트레이너 시나리오 reconstruct" [ref=e35] [cursor=pointer]:
              - /url: "#reconstruct"
          - listitem [ref=e36]:
            - link "모든 transition 표" [ref=e37] [cursor=pointer]:
              - /url: "#transition-1"
    - main [ref=e39]:
      - heading "흐름" [level=1] [ref=e40]:
        - link "흐름" [ref=e41] [cursor=pointer]:
          - /url: "#"
      - paragraph [ref=e42]:
        - text: 화면 → 화면 transition (Navigator.push 추출). 각 엣지 색이
        - strong [ref=e43]: 테스트 커버 여부
        - text: ":"
      - list [ref=e44]:
        - listitem [ref=e45]:
          - text: 🟢
          - strong [ref=e46]: 초록 실선
          - text: — 같은 시나리오에서 from·to 둘 다 등장 = 테스트가 이 흐름을 거침
        - listitem [ref=e47]:
          - text: 🔴
          - strong [ref=e48]: 빨강 점선
          - text: — production code 에 있지만 어떤 시나리오도 안 거침 = 회귀 위험 / spec 갭
      - heading "화면 그래프" [level=2] [ref=e49]:
        - link "화면 그래프" [ref=e50] [cursor=pointer]:
          - /url: "#-1"
      - heading "미커버 transition (회귀 위험)" [level=2] [ref=e51]:
        - link "미커버 transition (회귀 위험)" [ref=e52] [cursor=pointer]:
          - /url: "#transition"
      - paragraph [ref=e53]: 테스트가 거치지 않는 production 흐름. 우선순위 1.
      - heading "트레이너 시나리오 reconstruct" [level=2] [ref=e54]:
        - link "트레이너 시나리오 reconstruct" [ref=e55] [cursor=pointer]:
          - /url: "#reconstruct"
      - paragraph [ref=e56]:
        - code [ref=e57]: MemberDetailScreen
        - text: 부터 시작하는 production path 두 갈래 (단일 testWidgets 가 아니라 코드 trace 로 합성).
      - blockquote [ref=e58]:
        - paragraph [ref=e59]:
          - strong [ref=e60]: 🟢 초록
          - text: =
          - code [ref=e61]: Supervised BLE-live flow
          - text: group의 testWidgets 가 커버. dev 진입점부터.
          - strong [ref=e62]: 🔴 빨강
          - text: = production path 인데 testWidgets 0건. 멤버 선택 단계 전체 + Stage1 매뉴얼 path.
      - heading "모든 transition 표" [level=2] [ref=e63]:
        - link "모든 transition 표" [ref=e64] [cursor=pointer]:
          - /url: "#transition-1"
    - contentinfo [ref=e65]:
      - navigation [ref=e66]:
        - link "Previous page 화면" [ref=e67] [cursor=pointer]:
          - /url: ./screens
          - text: Previous page
          - generic [ref=e68]: 화면
        - link "Next page Use case" [ref=e69] [cursor=pointer]:
          - /url: ./use-cases
          - text: Next page
          - generic [ref=e70]: Use case
      - generic [ref=e71]:
        - text: "Source: /Volumes/WorkSSD/Projects/RoomfitV2 · build via"
        - code [ref=e72]: make extract && npm run build