Skip to content

feat(wbs): add search context and first-visit onboarding - #632

Open
seonghobae wants to merge 48 commits into
developfrom
feat/static-onboarding
Open

feat(wbs): add search context and first-visit onboarding#632
seonghobae wants to merge 48 commits into
developfrom
feat/static-onboarding

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • preserve WBS hierarchy context and block unsafe mutations while filtering
  • add first-visit sample onboarding and a clear-to-empty-plan path
  • retain real Chromium visual/accessibility evidence for sample, focus, and empty states
  • update the product/technical gap baseline and doctoring record

Verification

  • npm run test:unit
  • npm run test:api
  • npm run test:e2e (87 passed)
  • python3 -m pytest tests/config (3 passed)

The visual evidence workflow checks out and verifies the exact contributor HEAD, then retains the Playwright artifact for three days.


Devin Review

Summary by CodeRabbit

  • 새로운 기능

    • WBS 작업과 계획 필드를 검색하고 계층 맥락 및 빈 결과를 확인할 수 있습니다.
    • 첫 방문 샘플 WBS 안내, 안내 숨기기, 샘플 데이터 초기화를 지원합니다.
    • 확장 계획 필드를 포함한 JSON 내보내기를 지원합니다.
    • 검색 중 계층 변경, 드래그 앤 드롭, 작업 추가·삭제를 제한합니다.
  • 버그 수정

    • 클라우드 로그인 및 팀 모달에서 내부 요소를 클릭해도 닫히도록 개선했습니다.
    • 가져온 계획으로 전환할 때 검색 상태를 안전하게 초기화합니다.
  • 품질 개선

    • 접근성 검사와 시각적 증거 자동화를 추가했습니다.
    • 검색, 가져오기, 초기화 및 내보내기 테스트를 강화했습니다.

…at/wbs-search-context

# Conflicts:
#	wbs-search-safety.js
@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

Next included review available in 9 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 877e4c93-14fe-4287-8b09-5ec9609a78bc

📥 Commits

Reviewing files that changed from the base of the PR and between 059226d and e234794.

📒 Files selected for processing (8)
  • CHANGELOG.md
  • app.js
  • docs/doctoring/coverage-evidence.md
  • docs/product-technical-gap-baseline.md
  • package.json
  • tests/e2e/cloud.spec.js
  • tests/e2e/scopeweave.spec.js
  • tests/unit/coverage-script-contract.test.mjs

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 89dd9cf3-81f1-4072-ad61-74138226b46d

📥 Commits

Reviewing files that changed from the base of the PR and between d1ed68a and 059226d.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (21)
  • CHANGELOG.md
  • app.js
  • cloud-sync.js
  • docs/doctoring/coverage-evidence.md
  • docs/product-technical-gap-baseline.md
  • package.json
  • scripts/ci/check-coverage.mjs
  • scripts/ci/merge-browser-coverage.mjs
  • scripts/ci/run-browser-coverage.mjs
  • tests/e2e/beforeunload.spec.js
  • tests/e2e/cloud.spec.js
  • tests/e2e/coverage-fixtures.js
  • tests/e2e/csv_formula_fuzz.spec.js
  • tests/e2e/scopeweave.spec.js
  • tests/e2e/test_getTaskSubtreeRange.spec.js
  • tests/e2e/toast-accessibility.spec.js
  • tests/e2e/visual-accessibility-evidence.spec.js
  • tests/e2e/wbs-search-interaction-safety.spec.js
  • tests/e2e/wbs-search-persistence.spec.js
  • tests/unit/cloud-sync-metrics.test.mjs
  • tests/unit/coverage-script-contract.test.mjs
🚧 Files skipped from review as they are similar to previous changes (4)
  • tests/e2e/visual-accessibility-evidence.spec.js
  • CHANGELOG.md
  • docs/doctoring/coverage-evidence.md
  • docs/product-technical-gap-baseline.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

WBS 검색, 검색 중 편집 제한, 첫 방문 샘플 온보딩, JSON 내보내기를 추가했습니다. 브라우저 커버리지 수집과 시각·접근성 증거 워크플로를 추가했습니다. 관련 E2E·단위 테스트와 제품·품질 기준선 문서를 갱신했습니다.

Changes

WBS planner experience

Layer / File(s) Summary
WBS 검색과 상호작용 제한
app.js, index.html, styles.css, tests/e2e/*, README.md, docs/user-guide.md
작업 필드와 상위 계층을 검색합니다. 검색 중 드래그, 계층 변경, 추가와 삭제를 제한합니다. CSV 가져오기 후 검색어를 초기화합니다.
샘플 온보딩과 JSON 내보내기
app.js, index.html, styles.css, tests/e2e/scopeweave.spec.js, ARCHITECTURE.md, docs/plans/..., docs/user-guide.md
시드 데이터 안내를 별도 상태로 저장합니다. 저장 성공 후 안내를 숨깁니다. 확인된 삭제 후 빈 계획을 저장합니다. 확장 계획 필드를 포함한 JSON을 다운로드합니다.
클라우드 흐름 및 테스트 계측 통합
cloud-sync.js, tests/e2e/*, tests/unit/cloud-sync-metrics.test.mjs, tests/e2e/coverage-fixtures.js
중첩 요소 클릭으로 클라우드 모달을 닫습니다. E2E 테스트에 선택적 브라우저 커버리지 수집 fixture를 연결합니다. 클라우드 지표 단위 테스트를 추가합니다.

검증 및 기준선 증거

Layer / File(s) Summary
시각·접근성 증거 자동화
.github/workflows/visual-accessibility-evidence.yml, tests/e2e/visual-accessibility-evidence.spec.js, docs/doctoring/visual-accessibility-evidence.md, index.html
정확한 PR HEAD를 검증한 뒤 Chromium 테스트를 실행합니다. 접근성 속성, 대비율, 시드·빈 상태를 검사하고 스크린샷과 test-results를 업로드합니다.
Node·Chromium 커버리지 파이프라인
package.json, scripts/ci/*.mjs, tests/unit/coverage-script-contract.test.mjs, docs/doctoring/coverage-evidence.md
Node와 Chromium 커버리지를 수집하고 Istanbul 리포트로 병합합니다. 네 가지 지표가 100% 미만이면 strict 검사를 실패시킵니다.
기능 및 품질 기준선 문서
docs/product-technical-gap-baseline.md, CHANGELOG.md, README.md, docs/user-guide.md
기능 설명, 제품 요구사항 추적성, 데이터 흐름, Gap 상태, 커버리지 측정치와 표준 참조를 기록합니다.

Estimated code review effort: 4 (Complex) | ~60 minutes

Merge Risk: 🟡 Moderate · up to 05922

The change adds filtered WBS context and destructive first-visit clearing, but the current head still allows edits during search, includes an end-to-end assertion that does not match the implemented behavior, and can leave browser, file, and cloud copies inconsistent after a storage failure. Merge should wait for these issues to be corrected or explicitly accepted.

Sequence Diagram(s)

sequenceDiagram
  participant PlannerUser
  participant PlannerUI
  participant app.js
  participant BrowserStorage
  participant BrowserDownload
  PlannerUser->>PlannerUI: 검색어 입력
  PlannerUI->>app.js: taskQuery 변경
  app.js->>PlannerUI: 필터 결과와 계층 컨텍스트 렌더링
  PlannerUser->>app.js: JSON 내보내기 선택
  app.js->>BrowserDownload: 확장 필드 JSON 생성
  PlannerUser->>app.js: 샘플 데이터 삭제 확인
  app.js->>BrowserStorage: 빈 tasks 배열 저장
  app.js->>PlannerUI: 빈 계획 렌더링
Loading

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 3.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 30 functions across 17 files. (4 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목은 WBS 검색 컨텍스트와 첫 방문 온보딩 추가를 정확히 요약합니다. 이는 변경 사항과 PR 목표의 주요 내용을 명확하고 간결하게 반영합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 3.33% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 30 functions across 17 files. (4 skipped: 4 unsupported.)

✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/static-onboarding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant