Skip to content

feat(qor): render ECC QoR v3 reports in ECOS Studio - #224

Merged
KoEkko merged 10 commits into
mainfrom
yell/qor_v2
Sep 14, 2026
Merged

KoEkko merged 10 commits into
mainfrom
yell/qor_v2

Conversation

@Yell-walkalone

Copy link
Copy Markdown
Contributor

Summary

  • Studio is now a pure renderer of the workspace-level home/qor_report.json written by ECC. The GUI-side scoring port is removed (projectQorTrend.ts drops ~900 lines of local scoring), so the CLI and GUI can no longer disagree about a score.
  • New shared contract packages/shared/src/contracts/qorReport.ts: typed report model plus strict parseQorReport validation (schema_version: 3, scoring_engine: "qor-v3"); workspace summary reads now fetch the report alongside the existing per-step metrics.
  • New renderer adapter qorReportAdapter.ts: maps the validated report to dashboard models — composite score/status, five-dimension QoR record, feasibility gates, evidence index, diagnoses, inflation view, and power observation. A missing, malformed, or stale report (embedded flow_steps snapshot disagreeing with the live flow ledger) renders as NOT_RATED instead of a wrong score.
  • New Project Management analysis panel (ProjectAnalysisPanel.vue, projectDashboard.ts): flow-progress and signoff-readiness dashboard, five-dimension record breakdown with the score chart, and gate/diagnosis views. Signoff power (total, budget, source kind, corner) is surfaced from the report.
  • Home dashboard layout snapshots adapted to the split floorplan steps; QoR score chart width aligned with the record breakdown.
  • Submodule ecc bumped to the published main tip f74d2bb (intentional gitlink update; engine-side content is tracked in the ECC repository).

Scope

Select the areas touched by this PR:

  • GUI - desktop UI/runtime changes in ecos/gui, including renderer, Electron, and shared packages.
  • ECC - ECC submodule updates or ECOS Studio integration with the ECC CLI/runtime.
  • Resource management - resource registry, downloads, installation, manifests, PDKs, or tool assets.
  • Build, packaging, Nix, or release workflow - build inputs, AppImage packaging, or release metadata.
  • CI - GitHub Actions workflows, reusable actions, triggers, path filters, or automated checks.
  • Documentation only - README, guides, templates, or docs with no runtime behavior change.

Validation

List the commands you ran. Mark checks that are not applicable as N/A.

  • cd ecos/gui && pnpm run typecheck (as part of pnpm run check)
  • cd ecos/gui && pnpm run test (as part of pnpm run check)
  • cd ecos/gui && pnpm run build — N/A, no build-configuration, preload/main bundling, or package-resource changes.
  • Other: cd ecos/gui && pnpm run check (full gate: typecheck + lint + fmt:check + test across shared, renderer, and desktop-electron — all passed).
  • make build — N/A, no release, packaging, or native-resource changes.
  • make demo-gcd — not run in this environment.
  • make demo-retrosoc — not run in this environment.
  • Manual GUI smoke: cd ecos/gui && pnpm run dev — not run in this environment.

Skipped checks and reason:

  • Demo flows and manual smoke were not run in this headless environment; the dashboard and adapter behavior is covered by the new focused component and contract tests (shared qorReport, renderer qorReportAdapter/projectQorTrend/projectDashboard/useHomeSnapshots).

Screenshots or Recordings

Required for visible GUI changes.

  • Project Management → Analysis panel (dashboard tab: flow progress, signoff readiness, QoR score chart and five-dimension record breakdown) shows the new views; to be attached before merge.

Release, Packaging, and Runtime Impact

  • No release, packaging, or runtime impact
  • Version metadata changed
  • AppImage or Electron packaging changed
  • ECC CLI runtime resources changed
  • OSS CAD Suite, PDK, resource download, or installer behavior changed
  • Submodule gitlink changed

Notes:

  • ecc gitlink points at the published main commit f74d2bb; no unpublished submodule commit is required.

Checklist

  • I kept the change scoped to the affected component.
  • I updated docs or user-facing text where behavior changed. (ECC-side QoR reference docs were merged with the engine; Studio renders the report contract.)
  • I included lockfile changes for dependency updates. (No dependency changes.)
  • I documented intentional submodule updates.
  • I did not include local caches, virtual environments, or generated build outputs.
  • I explained any skipped validation and remaining risk.

Yell-walkalone and others added 10 commits September 12, 2026 17:53
Point ecc at ef441ed to pick up the cn/en ECC QoR reference manuals
and the rebased branch tip on yell/qor_v2.
The ecc yell/qor_v2 branch was rebased onto current main (gained #276
and #243 base commits); same QoR v3 patches, new SHAs. The old gitlink
target ef441ed no longer exists on the ecc remote.
Point the ecc gitlink at the rebased yell/qor_v2 tip including the
postFloorplan scoring adaptation.
Point the ecc gitlink at the rebased yell/qor_v2 tip after the lec
revert landed on main.
The dashboard layout thumbnails slice the flow from the floorplan step
to Harden, matching the step name literally. After the floorplan flow
split (preFloorplan/macroPlacement/postFloorplan) no step is named
floorplan any more, so the slice came back empty and the LayoutView
panel showed 'Waiting for layout data' for every new workspace.

Match the range start and the physical snapshot candidates against the
split step names as well, keeping the legacy single-step names for
older workspaces.

Co-Authored-By: Claude Code <noreply@anthropic.com>
The QoR score by workspace panel sits in the narrow lead column of the
project dashboard grid, so its right edge stops short of the QoR record
breakdown panel next to it. Span the full grid row so both edges align.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@KoEkko
KoEkko merged commit 42536c4 into main Sep 14, 2026
7 checks passed
@KoEkko
KoEkko deleted the yell/qor_v2 branch September 14, 2026 04:31
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.

2 participants