Skip to content

Add live QC Status Matrix page + nav link - #2

Draft
tkolberg wants to merge 1 commit into
installfrom
qc-status-matrix
Draft

Add live QC Status Matrix page + nav link#2
tkolberg wants to merge 1 commit into
installfrom
qc-status-matrix

Conversation

@tkolberg

Copy link
Copy Markdown
Collaborator

What

A new live CGI page — QC Status Matrix — showing every board × every test type in a single grid, reachable from the site nav (Summary ▾ → QC Status Matrix, and the footer).

Requested view: if a board ever passed a test, it counts as passed; mark it failed only if every attempt failed; mark it not-yet-run if it was never tried. Chip IDs (ECON, LDO, lpGBT) are shown per board where recorded.

Cell scoring

  • pass — passed at least once in the board's full test history
  • fail — attempted but failed every time
  • not yet run — no test row, but the test is in this board type's set
  • · N/A — test isn't part of this board type's set (Type_test_stitch)

Against live mbdb today: 531 passed · 105 failed · 58 not-yet-run across 65 boards × 18 test types.

Chip IDs

  • ECON (U251_T1 / U251_T2) and LDO (U661 / U681) serials from Board_component (photograph station) — 29 boards scanned.
  • lpGBT ID recovered from each board's most recent test-data attachment ($.test_data.DAQ.id, the same source get_sn_from_lpgbt_id uses), shown in hex — 34 boards.

Files

  • cgi-bin/mbDB/qc_matrix.py — CGI entry point (mirrors search.py).
  • cgi-bin/mbDB/qc_matrix_functions.py — gathers data + renders the grid (sticky headers, rotated test labels, sticky Full-ID column, per-board progress bar). Scoped <style> under .qcm so it doesn't touch the rest of the site.
  • cgi-bin/mbDB/base.py — link added to the Summary nav dropdown + footer. (There is no dashboard.py; the nav is the site-wide entry point.)

Read-only (connect(0) / testreader). No schema or data changes.

Notes for review

  • "Ever passed" deliberately shows green even if the board also failed that test on other attempts — this hides flaky history by design (matches the request). Easy to add a marker for passed-but-also-failed cells if wanted.
  • Uses full test history, so results can differ from the latest-attempt logic on the Board Summary page.

🤖 Generated with Claude Code

New CGI page qc_matrix.py (+ qc_matrix_functions.py) rendering every board
x every test type in one grid. A test is scored PASS if the board cleared it
at least once, FAIL only if every attempt failed, and NOT-YET-RUN if never
tried; tests outside a board type's set (Type_test_stitch) are marked N/A.

Each row also shows the ECON (U251_T1/_T2) and LDO (U661/U681) serials from
the photograph station (Board_component) and the lpGBT ID recovered from the
board's most recent test-data attachment ($.test_data.DAQ.id, same source as
get_sn_from_lpgbt_id), plus a passed/applicable progress bar. Board IDs link
to their module.py detail page.

Linked from base.py nav Summary dropdown and footer (no dashboard.py exists;
the nav is the site-wide entry point).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YGahLrgqHVspAg4b3tY8oE
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