Skip to content

feat(dashboard): quantify cases and preserve project journeys - #640

Open
seonghobae wants to merge 101 commits into
mainfrom
feat/dashboard-case-metrics
Open

feat(dashboard): quantify cases and preserve project journeys#640
seonghobae wants to merge 101 commits into
mainfrom
feat/dashboard-case-metrics

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • report claim, rebid, external-information, and repeat-issue Event and distinct-post counts independently
  • preserve every explicit project membership and render each project journey in chronological order
  • add the external-information Dashboard filter as an independent GNB destination
  • refresh the exact-base product gap evidence

Verification

  • uv run --extra dev pytest -q tests/test_operations_dashboard.py tests/test_public_docstrings.py (4 passed before the multi-project extension; focused dashboard rerun 2 passed afterward)
  • corepack pnpm exec vitest run src/components/OperationsDashboard.test.tsx src/components/WorkspaceNav.test.tsx src/i18n.test.ts src/App.test.tsx (173 passed)
  • corepack pnpm lint
  • corepack pnpm build
  • corepack pnpm build-storybook
  • Storybook desktop and 390px mobile screenshots inspected; journey overflow remains bounded and metrics use a 4/2-column responsive grid

No keyword, heuristic, arbitrary threshold, or local measurement weight is introduced.


Open in Devin Review

Summary by CodeRabbit

  • 새 기능

    • 운영 대시보드에 외부 정보 전용 보기, 사례 생명주기·마일스톤·누락 근거·토픽 영향 정보를 추가했습니다.
    • Ask 답변에 인용 근거와 시간순 이벤트 타임라인을 제공하며, 서로 연결해 탐색할 수 있습니다.
    • 모바일 내비게이션과 대시보드가 반응형 레이아웃을 지원합니다.
    • 기업 계층 탐색과 관련 게시물 바로 열기를 지원합니다.
  • 버그 수정

    • 외부 정보 범위와 권한 필터가 대시보드 지표에 일관되게 적용됩니다.
    • 관측 시각, 진행 중 사례, 근거 누락 및 분석 결과 없음 상태를 더 정확히 표시합니다.
    • 다국어 안내 문구와 접근성·터치 영역을 개선했습니다.
  • 문서

    • 운영 대시보드, Ask 근거 타임라인, 배포 및 사용 기준을 갱신했습니다.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

Next included review available in 58 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: 4159c679-e813-4a9d-a8bc-36ce3ebbd3f6

📥 Commits

Reviewing files that changed from the base of the PR and between dae28fb and 19c9c9e.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (60)
  • ARCHITECTURE.md
  • CHANGELOG.md
  • backend/Dockerfile
  • backend/app/main.py
  • backend/app/operations_case_ingestion.py
  • backend/app/post_chat_ingestion.py
  • backend/app/post_content_queue.py
  • backend/app/post_content_worker.py
  • backend/tests/test_api.py
  • backend/tests/test_operations_dashboard_postgres.py
  • docker-compose.postgres-tuned.yml
  • docker/contextual-orchestrator/Dockerfile
  • docker/contextual-orchestrator/start.py
  • docs/adr/0024-rankweave-fusion-fail-closed.md
  • docs/adr/0030-external-llm-gateway-environment.md
  • docs/adr/0083-orchestrator-runtime-commit-pin.md
  • docs/adr/0098-valkey-backed-post-content-ingestion.md
  • docs/adr/0206-evidence-operations-dashboard.md
  • docs/adr/0208-externalize-local-mathematical-compute.md
  • docs/adr/0226-macos-native-mlx-mathematical-compute-boundary.md
  • docs/adr/0227-observed-postgresql-runtime-tuning.md
  • docs/adr/README.md
  • docs/operability/postgresql-observed-tuning.md
  • docs/product-requirements.md
  • docs/product-technical-gap-baseline.md
  • frontend/src/App.css
  • frontend/src/App.tsx
  • frontend/src/components/AskAnswerTimeline.test.tsx
  • frontend/src/components/AskAnswerTimeline.tsx
  • frontend/src/components/OperationsDashboard.stories.tsx
  • frontend/src/components/OperationsDashboard.test.tsx
  • frontend/src/components/OperationsDashboard.tsx
  • frontend/src/i18n.test.ts
  • frontend/src/i18n.ts
  • lineageweave/embedding_backfill.py
  • lineageweave/embedding_client.py
  • lineageweave/leftover_pairs.py
  • lineageweave/operations_case_analysis.py
  • migrations/0214_topic_context_influence_projection.sql
  • migrations/0222_operations_case_analysis_input.sql
  • pyproject.toml
  • scripts/backfill_post_embeddings.py
  • scripts/plan_postgres_tuning.py
  • scripts/queue_post_content_backfill.py
  • scripts/seed_demo_data.py
  • tests/test_contextual_orchestrator_start.py
  • tests/test_documentation_hygiene.py
  • tests/test_embedding_backfill.py
  • tests/test_embedding_client.py
  • tests/test_embedding_client_edges.py
  • tests/test_operations_case_analysis.py
  • tests/test_operations_case_ingestion.py
  • tests/test_post_chat_ingestion.py
  • tests/test_post_content_backfill_endpoint.py
  • tests/test_post_content_queue.py
  • tests/test_post_content_worker.py
  • tests/test_postgres_tuning_plan.py
  • tests/test_queue_post_content_backfill_script.py
  • tests/test_schema.py
  • tests/test_static_sql_review_contracts.py
📝 Walkthrough

Walkthrough

이번 변경은 운영 대시보드에 외부 정보 범위, 사례 생명주기, 누락 근거, 토픽 컨텍스트를 추가합니다. Ask 응답은 인용 이벤트 타임라인을 제공합니다. 잔여 계산은 fast-mlsirm으로 위임하고, 실행 환경과 검증 계약을 갱신합니다.

Changes

운영 분석과 대시보드

Layer / File(s) Summary
사례 분석과 증거 저장
lineageweave/operations_case_analysis.py, backend/app/operations_case_ingestion.py, migrations/0211...0216, tests/test_operations_case_*
필수 사실과 마일스톤의 누락·증거·출처 시계를 검증하고 저장합니다.
대시보드 조회와 응답 투영
backend/app/operations_dashboard.py, backend/app/main.py, backend/tests/test_operations_dashboard_postgres.py, tests/test_operations_dashboard.py
외부 전용 SQL 범위, lifecycle 집계, topic readiness, JSON-LD 투영과 not_persisted 상태를 처리합니다.
토픽 컨텍스트와 온톨로지 계약
migrations/0214_topic_context_influence_projection.sql, docs/ontology/*, tests/test_schema.py, tests/test_ontology.py
토픽 좌표, 계보, 멤버십, 영향력 결과와 provenance 제약을 저장·검증합니다. 운영 사례 온톨로지와 SHACL shape도 추가합니다.
대시보드 화면과 워크스페이스 연결
frontend/src/components/OperationsDashboard.tsx, frontend/src/components/OperationsDashboard.stories.tsx, frontend/src/api.ts, frontend/src/App.tsx, frontend/src/gnbChrome.ts
외부 정보 전용 화면, lifecycle 정보, 토픽 영향, 관측 이벤트와 새 GNB 목적지를 표시합니다.
Ask 증거 타임라인
lineageweave/post_chat.py, backend/app/global_ask_queue.py, frontend/src/components/AskAnswerTimeline.tsx, frontend/src/components/AskAnswerTimeline.test.tsx
인용 게시물의 관측 시계와 이벤트를 응답에 포함하고, 인용과 증거 카드 사이의 양방향 포커스를 제공합니다.
계산 위임과 랭킹 계약
lineageweave/leftover_pairs.py, lineageweave/period_report.py, lineageweave/rankweave_client.py, pyproject.toml
residual interaction map, 기대 응답, RRF 및 채널 기여도 계산을 외부 소유 계약으로 위임합니다.
실행 환경과 통합 검증
docker-compose.yml, backend/Dockerfile, frontend/Dockerfile, scripts/*, tests/test_schema.py, tests/test_k6_http_e2e_contract.py
Compose 프로젝트명, 빌드 캐시, Keyverse 변수, Dashboard k6 요청과 PostgreSQL 계약 검증을 갱신합니다. 관련 문서와 테스트 정리도 포함합니다.

Estimated code review effort: 5 (Critical) | ~120 minutes

Merge Risk: 🟠 High · up to dae28

The PR adds persisted topic and case evidence plus dashboard journey rendering, but the current head still contains migration paths that can fail during deployment or leave accepted evidence without required provenance, alongside missing citation fallbacks and incorrect journey/status rendering. These are concrete data and correctness risks, so the PR is not merge-ready until the migration and display issues are fixed or explicitly accepted.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 59.79% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 194 functions across 52 files. (31 skippe… 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 대시보드 사례 수량화와 프로젝트 여정 보존이라는 주요 변경 사항을 간결하고 정확하게 요약합니다.
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 59.79% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 194 functions across 52 files. (31 skipped: 31 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/dashboard-case-metrics

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.

@seonghobae
seonghobae enabled auto-merge (squash) August 25, 2026 14:50
devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed docs/product-technical-gap-baseline.md at 724a5707 with the current aggregate queue evidence: protected main 04e6b610, 7 open PRs, 10 open issues, and exact observed heads for #640/#639/#636/#632/#631/#629/#579. The rows remain explicitly non-merge evidence and retain the no-real-data boundary. git diff --check passed; hosted checks are rerunning for this exact head.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Local validation on the exact baseline-refresh tree: tests/test_operations_dashboard.py 2 passed; frontend oxlint passed; Vitest 41 files / 383 tests passed. The refreshed baseline commit is 724a5707; hosted checks remain authoritative and are still pending.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head review reconciliation (2026-08-26):

  • feat: persist leftover interaction-map coordinates (v2.12.19) #579 689a21b6: the process-unit scoped period-report finding is already present in this exact head: report_ingestion.py selects and serializes p.process_unit_id, and read_period_reports uses it for ABAC before stripping it. The empty-map path in leftover_pairs.py returns axes=() (with regression coverage in tests/test_leftover_pairs.py::test_empty_upstream_map_does_not_invent_product_evidence), so zero-share axes are not persisted for an invalid complete-case map.
  • fix(semantic): preserve graph fact source provenance #632 3851c7cf: _graph_facts_for_posts performs one bounded query with a 64-fact global cap; gather_chat_sources calls it once per path and reuses the returned mapping. The cited duplicate-query review points to an older commit and is not present at this exact head.
  • feat: publish calibrated external lineage contract #636 1230a1a7: AGENTS.md already states that active_weights fails closed on an active-channel mismatch and loads a separately calibrated exact-channel vector; it no longer mandates renormalization. ARCHITECTURE.md and ADR 0172 carry the same contract.
  • feat(dashboard): quantify cases and preserve project journeys #640 4677052c: operations_dashboard.py currently computes primary_project_name by confidence desc, project_name, then uses it before the alphabetical project_names array. The cited fallback is not present at this exact head.

These are exact-head validations; no stale review snapshot was transferred as merge evidence. Hosted Checks and independent approval remain authoritative.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@seonghobae

Copy link
Copy Markdown
Contributor Author

Refreshed the baseline at bdef6531 with a single 2026-08-26 01:10 KST exact-head snapshot: 7 open PRs, 10 open issues, protected main 04e6b610, and current heads including #640 41527fa9, #632 bfeaecd9, #636 eeeb23c6, and #629 0f4665b5. Historical rows remain explicitly non-merge evidence. git diff --check passed.

@opencode-agent
opencode-agent Bot disabled auto-merge August 25, 2026 15:10
Co-authored-by: seonghobae <seonghobae@users.noreply.github.com>
devin-ai-integration[bot]

This comment was marked as resolved.

Codex and others added 4 commits August 26, 2026 11:04
* ops(postgres): plan measured runtime tuning

* fix(postgres): support measured native setting units

---------

Co-authored-by: Codex <codex@localhost>
devin-ai-integration[bot]

This comment was marked as resolved.

github-code-quality[bot]

This comment was marked as resolved.

@seonghobae
seonghobae enabled auto-merge August 26, 2026 02:38
@seonghobae

Copy link
Copy Markdown
Contributor Author

Re-reviewed current stack at exact head fbc129c. Latest review findings are resolved by concurrent commits: localized Evidence ranking labels, consistent topic-journey action wording, and explicit PostgreSQL command assembly. Focused local verification of the repair set: i18n 64 passed, oxlint passed, Python compileall passed. Protected checks and independent approval remain required.

Codex and others added 4 commits August 26, 2026 11:43
…o fix/pr640-current-head-review

# Conflicts:
#	frontend/src/App.tsx
#	scripts/seed_demo_data.py
…ll-operator

feat: enqueue bounded semantic backfill jobs
devin-ai-integration[bot]

This comment was marked as resolved.

seonghobae and others added 2 commits August 25, 2026 21:26
* fix(ask): find related source evidence automatically

* fix(ask): preserve source publication boundary

* fix(ask): keep project evidence out of event lineage

* test(ask): lock graph and project boundaries

* fix(ask): preserve project evidence in dense windows

* fix(orchestrator): register remote embedding agent

* build(orchestrator): pin provider embedding runtime

* docs(orchestrator): separate embedding bootstrap boundary

* fix(ui): keep missing-evidence guidance accurate

* fix(ui): explain automatic evidence retry

* fix(operations): reanalyze missing facts on new evidence

* fix(runtime): restore semantic backfill contracts

* fix(ask): keep project evidence first

* fix(worker): persist operational cases before optional content enrichment

* fix(worker): preserve completed evidence on sibling retry outage

* fix(operations): use orchestrator auto model selector

* fix(compose): install orchestrator runtime dependency

* perf: bulk semantic embedding backfill

* fix(operations): address orchestrator auto deployment

* perf: prepare semantic backfill batch concurrently

* fix: isolate operations analysis from embedding batch

* Revert "fix: isolate operations analysis from embedding batch"

This reverts commit a7cda9b.

* Revert "perf: prepare semantic backfill batch concurrently"

This reverts commit 1d16c40.

* Revert "perf: bulk semantic embedding backfill"

This reverts commit 891e0f9.

* fix(runtime): pin bounded provider failover

* fix(operations): invalidate stale evidence windows

* feat(embedding): add atomic cross-post bulk backfill

* build(backend): include embedding backfill operator

---------

Co-authored-by: Codex <codex@localhost>
Co-authored-by: Codex <codex@localhost>
devin-ai-integration[bot]

This comment was marked as resolved.

@opencode-agent
opencode-agent Bot disabled auto-merge August 26, 2026 04:34
@seonghobae
seonghobae enabled auto-merge August 26, 2026 04:44
github-code-quality[bot]

This comment was marked as resolved.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread backend/app/post_content_worker.py
@opencode-agent
opencode-agent Bot disabled auto-merge August 26, 2026 05:52
@seonghobae
seonghobae enabled auto-merge (squash) August 26, 2026 05:58
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