Skip to content

docs(score-tests): canonical inline rubric aligned with scoreFile() - #7

Merged
weijia-89 merged 2 commits into
mainfrom
chore/purge-references-sdk
May 25, 2026
Merged

docs(score-tests): canonical inline rubric aligned with scoreFile()#7
weijia-89 merged 2 commits into
mainfrom
chore/purge-references-sdk

Conversation

@weijia-89

Copy link
Copy Markdown
Owner

Summary

Automated SDK weekend worker + _sdk_verify_and_pr.sh verification.

SDK code review (trainer → form-check + review-rigor)

Verdict: APPROVE
Queue: playwrighter-rubric-align
Branch: chore/purge-references-sdk · Repo: weijia-89/playwrighter

  • Local artifact: localonly/sdk-reviews/playwrighter-rubric-align-chore-purge-references-sdk.md
  • Playground mirror: cursor-sdk-playground/prompts/reviews/playwrighter-rubric-align-chore-purge-references-sdk.md

Summary

  • Two-commit branch (docs rubric expansion + round-1 remediation): 3 files, no runtime behavior change beyond pre-existing fixture-import −5 penalty now documented and structurally grouped under Maintainability.
  • Round-1 findings addressed: fixture-import check moved under the Maintainability section header (tools/score-tests.js:139–152); Unreleased CHANGELOG no longer embeds internal review IDs (CHANGELOG.md:15).
  • README prose now matches scoreFile(): direct @playwright/test imports in spec files cost 5 points; test.step() / per-test length remain non-scored guidance (README.md:30).
  • Inline rubric comment block expanded with full penalty tables, thresholds, and limitations paraphrased from the deleted references/ scorecard; comment taxonomy aligns with scoreFile() implementation (tools/score-tests.js:34–77, 89–226).
  • Verify command passes locally and is appropriate for this change class (references purge guard + syntax check + anti-regression grep for stale rubric phrases).
  • Residual items are cosmetic (internal review comment, CLI banner naming) and do not block merge.

Full ranked findings are in the PR review comment posted by the SDK hook.


Posted by _sdk_verify_and_pr.sh after _sdk_trainer_codereview.sh. Merge still requires CI green and human review; BLOCK / REQUEST_CHANGES (with SDK_CODEREVIEW_STRICT=1) stop the hook before push.

Test plan

  • test ! -d references && ! rg -n 'references/quality-scorecard|references/RESEARCH_INDEX|references/ADVERSARIAL' --glob '!localonly/**' --glob '!CHANGELOG.md' . && node --check tools/score-tests.js && ! rg -n 'uses fixtures|describe/group|test\.step or single' tools/score-tests.js
  • trainer codereview gate (unless SDK_CODEREVIEW_SKIP=1)
  • CI green
  • Human review

…) (F1/F2)

Paraphrase deleted quality-scorecard into the score-tests.js comment block
(penalty tables, thresholds, limitations). Fix README fixture penalty claim
to match implemented −5 for direct @playwright/test imports.

Verification: node --check tools/score-tests.js; F2 falsifier grep clean.
Co-authored-by: Cursor <cursoragent@cursor.com>
@weijia-89

Copy link
Copy Markdown
Owner Author

SDK code review (trainer → form-check + review-rigor)

Verdict: APPROVE
Queue: playwrighter-rubric-align
Branch: chore/purge-references-sdk · Repo: weijia-89/playwrighter

  • Local artifact: localonly/sdk-reviews/playwrighter-rubric-align-chore-purge-references-sdk.md
  • Playground mirror: cursor-sdk-playground/prompts/reviews/playwrighter-rubric-align-chore-purge-references-sdk.md

Summary

  • Two-commit branch (docs rubric expansion + round-1 remediation): 3 files, no runtime behavior change beyond pre-existing fixture-import −5 penalty now documented and structurally grouped under Maintainability.
  • Round-1 findings addressed: fixture-import check moved under the Maintainability section header (tools/score-tests.js:139–152); Unreleased CHANGELOG no longer embeds internal review IDs (CHANGELOG.md:15).
  • README prose now matches scoreFile(): direct @playwright/test imports in spec files cost 5 points; test.step() / per-test length remain non-scored guidance (README.md:30).
  • Inline rubric comment block expanded with full penalty tables, thresholds, and limitations paraphrased from the deleted references/ scorecard; comment taxonomy aligns with scoreFile() implementation (tools/score-tests.js:34–77, 89–226).
  • Verify command passes locally and is appropriate for this change class (references purge guard + syntax check + anti-regression grep for stale rubric phrases).
  • Residual items are cosmetic (internal review comment, CLI banner naming) and do not block merge.

Findings (ranked)

F1 · P4 · COR · conf 72%

Residual internal review marker in production source

Round-1 remediation left a permanent sdk-review F1: comment inside scoreFile():

  // --- Maintainability (-20 max) ---
  // sdk-review F1: fixture-import check lives here to match rubric comment taxonomy
  const isSpecFile = /\.(spec|test)\.(ts|js)$/.test(filePath);

Downstream consequence: future contributors/agents may treat SDK review IDs as durable architecture docs. Remove in a follow-up cleanup commit; not merge-blocking because behavior and rubric alignment are correct.

Scorecard (S1–S7): S1 repro ✓ · S2 cite ✓ · S3 scope ✓ · S4 severity proportionate ✓ · S5 fix path clear ✓ · S6 no false COR on behavior ✓ · S7 merge impact none ✓ → 7/7

F2 · P4 · ARC · DRIFT · conf 68%

CLI banner still says "Quality Scorecard" after scorecard markdown purge

Human-readable output header at tools/score-tests.js:259 prints Quality Scorecard — ${target} while references/quality-scorecard was removed in 3.0.1. Pre-existing naming drift, not introduced by this diff; optional rename to "Quality Rubric" or "Test Quality Score" for consistency with inline "Rubric" terminology.

Scorecard: 6/7 (S6: pre-existing, out of diff scope — still note for agent confusion)

F3 · P4 · COR · conf 65%

Fixture-import detector matches literal ./fixtures only (pre-existing)

scoreFile() exempts files importing from './fixtures' (tools/score-tests.js:145) but GETTING_STARTED.md:56 and pattern examples use '../fixtures'. Suites following those docs could be falsely penalized −5. Not introduced by this branch; document or broaden regex in a separate PR.

Scorecard: 6/7

Merge recommendation

Merge. Round-1 P2/P3 items (README fixture lie, Maintainability taxonomy drift, CHANGELOG internal IDs) are resolved. Ship threshold for docs-only (≥85%): met with zero P1–P3 blockers. Optional follow-ups: strip sdk-review F1: comment (F1), rename CLI banner (F2), clarify ../fixtures exemption (F3).


Posted by _sdk_verify_and_pr.sh after _sdk_trainer_codereview.sh. Merge still requires CI green and human review; BLOCK / REQUEST_CHANGES (with SDK_CODEREVIEW_STRICT=1) stop the hook before push.

…ures path

- F1: fixture-import check under Maintainability; drop internal IDs from CHANGELOG
- F2: CLI output header "Quality Rubric" (was Quality Scorecard after references purge)
- F3: exempt ../fixtures imports alongside ./fixtures (GETTING_STARTED layout)

Co-authored-by: Cursor <cursoragent@cursor.com>
@weijia-89
weijia-89 force-pushed the chore/purge-references-sdk branch from f264336 to 579d4c3 Compare May 25, 2026 21:19
@weijia-89

Copy link
Copy Markdown
Owner Author

SDK codereview — round 2 (F2·P4, F3·P4)

Verdict: APPROVE — cosmetic follow-ups from playwrighter-rubric-align-chore-purge-references-sdk addressed in amended commit 579d4c3.

Finding Fix
F2 CLI still said "Quality Scorecard" Human banner → Quality Rubric (tools/score-tests.js)
F3 ./fixtures only exemption Regex now accepts ./fixtures and ../fixtures; rubric comment + README enforcement table updated

F1·P4 (residual sdk-review F1: comment in source) left as-is per prior merge recommendation — optional strip later.

Verify: node --check tools/score-tests.js + no references/ + no stale scorecard banner string.

@weijia-89
weijia-89 merged commit 1c19d7c into main May 25, 2026
1 check passed
@weijia-89
weijia-89 deleted the chore/purge-references-sdk branch May 25, 2026 21:28
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