FractalOps MCP E2E 시나리오 (실측)
FractalOps MCP E2E 시나리오 (실측)
Section titled “FractalOps MCP E2E 시나리오 (실측)”이 문서는 가정이 아니라 실제 사용자 흐름을 MCP(Playwright)로 실행한 실측 결과를
누적한다. placeholder URL(example.com/org/net/local)은 런타임에서 비활성 엔드포인트로
간주되어 솔루션 노출 대상에서 제외된다.
persona별 E2E 흐름 개요
Section titled “persona별 E2E 흐름 개요”flowchart TD
subgraph PM["Planner (PM)"]
pm1["project_create"]
end
subgraph DEV["Developer"]
d1["developer_dashboard"] --> d2["developer_registry_token"]
d2 --> d3["developer_daytona_launch (302)"]
end
subgraph DES["Designer"]
de1["designer_penpot_launch (302)"]
end
Edge["Pomerium edge<br/>auth.yamon.io"]
pm1 --> Edge
d1 --> Edge
de1 --> Edge
Edge --> Portal["Portal (portal.yamon.io)"]
d3 --> Daytona["Daytona sandbox"]
de1 --> Penpot["Penpot dashboard"]
d2 --> Nexus["Nexus registry<br/>(FO-E2E-005 차단)"]
라이브 계정 시나리오 실행 원칙
Section titled “라이브 계정 시나리오 실행 원칙”CT136 LXC 전용 persona probe는 retired. 라이브 persona 검증은 Portal/Playwright E2E와 Studio/Temporal evidence artifact로 남긴다. 새 검증 코드는 LXC 내부 전용 스크립트가 아니라 프로젝트별 test lane 또는 Playwright proof로 소유한다.
- 실행 일시: 2026-03-08 (KST)
- 실행 도구: Playwright MCP
- 실행 계정:
staff@example.com - 목적: 스크립트 기반 가정이 아니라, 실제 사용자 흐름 기준 정상 동작 보장/차단점 식별
- 주의:
example.com/org/net/local계열 placeholder URL은 런타임에서 비활성 엔드포인트로 간주되어 솔루션 노출 대상에서 제외됨.
시나리오 매트릭스
Section titled “시나리오 매트릭스”| ID | 시나리오 | 기대 결과 | 실제 결과 | 상태 | 증거 |
|---|---|---|---|---|---|
| FO-E2E-001 | Portal 대시보드 진입 | https://portal.example.com/ 진입 시 세션/온보딩/피드 렌더링 | 정상 렌더링 확인 | PASS | output/playwright/e2e-20260308/portal-dashboard.png |
| FO-E2E-002 | Portal 즐겨찾기 토글/필터 | repo 즐겨찾기 토글 후 즐겨찾기만 필터 동작 | pm-e2e-0307 즐겨찾기 추가 + 필터 시 표시 2개 | PASS | output/playwright/e2e-20260308/portal-favorites-filter.png |
| FO-E2E-003 | Portal 프로젝트 피드 조회 | /에서 프로젝트/피드 카드 노출 | 대시보드와 프로젝트 피드 렌더링 확인 | PASS | output/playwright/e2e-20260308/portal-dashboard.png |
| FO-E2E-004 | Portal → Daytona Sandbox | Portal launch에서 Daytona 클릭 시 sandbox/IDE 진입 | Daytona sandbox launch와 supported IDE/CLI handoff 화면 진입 확인 | PASS | output/playwright/e2e-20260308/portal-launch-daytona-success.png, output/playwright/e2e-20260308/daytona-ide-success.png |
| FO-E2E-005 | Portal → Nexus Launch | Portal launch 경유 시 Nexus 정상 진입 | {"error":"Pomerium authentication failed"} + 401 | FAIL | output/playwright/e2e-20260308/portal-launch-nexus-auth-failed.png |
| FO-E2E-006 | Portal → Penpot Launch | Portal launch 경유 시 Penpot 정상 진입 | Penpot dashboard 진입 확인(팀 생성/프로젝트 화면) | PASS | output/playwright/e2e-20260308/portal-launch-penpot-success.png |
| FO-E2E-007 | Portal 비선형 UX(유저/그룹) | Next Actions + Journey persona 필터 + Group jump 연동 | portal.example.com에서 실측 동작 확인 | PASS | output/playwright/e2e-20260308-ux-linear/portal-filter-pm-after-deploy.png |
| FO-E2E-008 | 다중 사용자 시뮬레이션(Edge Claim) | 사용자별 주체 파싱/위젯 분리 | Loopback MCP 호출로 user-a, user-b, user-c 각각 subject_key 분리 확인 | PASS | MCP run-code 결과 로그(2026-03-08) |
| FO-E2E-009 | keytest 실제 MS 로그인 | 계정 전환 후 keytest 실로그인 | Microsoft 응답: Your account has been locked | FAIL | MCP snapshot (Microsoft sign-in, 2026-03-08) |
실패 시나리오 차단 원인 (현재)
Section titled “실패 시나리오 차단 원인 (현재)”FO-E2E-005 (Nexus Launch)
Section titled “FO-E2E-005 (Nexus Launch)”sequenceDiagram
autonumber
participant U as 직원
participant P as Portal launch
participant E as Pomerium edge
participant N as Nexus (nexus.yamon.io)
U->>P: Nexus launch 클릭
P->>E: launch route -> nexus.yamon.io
E--xN: forwarded_jwt_assertion 전달 실패
N-->>U: 401 {"error":"Pomerium authentication failed"}
- 원인: launch 라우트 이후 Nexus 진입 시 Pomerium 인증 문맥 전달 실패.
- 영향: Portal에서 레지스트리 진입이 차단되어 패키지 publish/install 흐름 단절.
- 계약 근거: Nexus identity-contract는
identity_assertion_mode: forwarded_jwt_assertion이며, edge가 검증한 JWT를 Nexus로 전달해야 한다. 이 전달 문맥이 끊긴 것이 차단점이다.
FO-E2E-009 (keytest 실로그인)
Section titled “FO-E2E-009 (keytest 실로그인)”- 원인: 애플리케이션 로직 문제가 아니라 Entra 계정 잠금 상태.
- 영향: keytest 기준 실서비스 E2E(계정 전환/신규 사용자 온보딩) 재현 불가.
정상 동작 보장 기준 (Gate)
Section titled “정상 동작 보장 기준 (Gate)”아래 3개가 모두 PASS일 때 “직원 기본 개발 흐름 정상”으로 판정한다.
flowchart LR
G003["FO-E2E-003<br/>Portal 프로젝트 피드"] --> AND{모두 PASS?}
G004["FO-E2E-004<br/>Portal -> Daytona sandbox"] --> AND
G005["FO-E2E-005<br/>Nexus Launch"] --> AND
AND -- 예 --> OK["직원 기본 개발 흐름 정상"]
AND -- 아니오 --> FAIL["보장 실패"]
- FO-E2E-003 (Portal 프로젝트 피드)
- FO-E2E-004 (Portal → Daytona sandbox 진입)
- FO-E2E-005 (Nexus Launch)
현재 판정: 보장 실패 (Nexus Launch 미해결 1건).
UX 개선 반영 (2026-03-08)
Section titled “UX 개선 반영 (2026-03-08)”- 유저/그룹 흐름 끊김 완화를 위해
Next Actions를 상단에 추가하고 온보딩/여정/시나리오 기반 우선순위 액션을 자동 계산. Journey Board에 persona 필터(all/developer/pm/team_lead/super_admin) 추가.Group Context Map에서 cluster jump 시 persona 필터가 자동 연동되어 비선형 탐색이 가능.PortalLaunchService에서FRACTALOPS_PORTAL_IDP_PROFILE_ENFORCE_SOLUTIONS대상(Penpot 등) launch 전에 IDP profile(email/firstName/lastName) 자동 보정.- Penpot access sync는 최신 native RPC 경로
/api/main/methods/*와FRACTALOPS_PENPOT_API_URL/FRACTALOPS_PENPOT_API_TOKEN계약을 사용한다.