Skip to content

docs: metrics.json is token-usage telemetry, not aggregate eval rates — no rename - #192

Merged
minthigpen merged 5 commits into
mainfrom
copilot/scores-jsonl-rename-refactor
Jun 12, 2026
Merged

docs: metrics.json is token-usage telemetry, not aggregate eval rates — no rename#192
minthigpen merged 5 commits into
mainfrom
copilot/scores-jsonl-rename-refactor

Conversation

Copilot AI commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Debated renaming metrics.jsonaggregate_scores.jsonl. Verdict: no rename. The file contains pipeline token-usage telemetry (calls, token counts, cache stats, timing), not aggregated evaluation rates. Renaming would be wrong on format (single JSON object, not JSONL) and semantics, with high breaking-change surface for no accuracy gain.

Separately, docs had a pervasive misdescription of metrics.json as "aggregate rates by dimension and category" — those rates are computed on-demand from scores.jsonl by the CLI/viewer and never persisted.

Fixes

  • docs/guides/results.md — correct metrics.json description; reorder fast-inspection to scores.jsonl first
  • docs/concepts.md — remove metrics.json from judge-stage outputs (it's written by the runner after all stages complete)
  • docs/getting-started.md — fix pipeline table attribution of metrics.json
  • AGENTS.md — debug inspection order: scores.jsonl first, metrics.json last
  • assert_ai/library/judges/README.md — fix weight field description (was pointing to metrics.json incorrectly)
Original prompt

first debate whether scores.jsonl/metrics.jsonl is better renamed /refactored to scores.jsonl/aggregate_scores.jsonl. only when the benefit is much larger, open a pr to refactor the code and all doc surfaces.

**Chronological Review:** This conversation is a late-night fleet-mode session for Chang (PM working on the responsibleai/ASSERT OSS eval framework) preparing for v1 public-preview launch. The prior summary captured 7 previously merged PRs tonight (#177, #182, #181, #185, #186, #187, #188, #189) and one open PR (#180) with viewer table UX improvements.

The current segment continues from where the prior summary left off: restarting vite for PR #180 audit. Sequence:

  1. Inspected port 5173 — found PID 28068 still owning it (stale vite from earlier)
  2. Killed PID 28068
  3. Verified port no longer LISTEN (only FinWait2 lingering)
  4. Pulled latest PR viewer/compare: pin baseline left + show only populated dim columns #180 commits into p2m-wt-bank-primary worktree
  5. Restarted vite detached with logs piped to session folder
  6. Vite chose 5174 instead of 5173 (FinWait2 socket still lingering)
  7. Verified HTTP 200 on 5174
  8. Reported viewer URL + audit checklist to Chang

Intent Mapping:

Technical Inventory:

  • Vite v7.3.2 dev server
  • SvelteKit viewer at viewer/src/routes/suite/[suite_id]/+page.svelte
  • PowerShell Get-NetTCPConnection / Stop-Process / Start-Process for port management
  • git worktrees pattern (p2m-wt-bank-primary is Chang's primary demo worktree on PR viewer/compare: pin baseline left + show only populated dim columns #180 branch)
  • responsibleai remote (= responsibleai/ASSERT, where work pushes)
  • TCP FinWait2 state explanation (lingering socket doesn't prevent rebind unless LISTEN)

Code Archaeology:

Progress Assessment:

Context Validation:
All loose ends from prior summary still relevant (CODEOWNERS placeholder, Discussions, PR #88 flip, stash cleanup).

Recent Commands Analysis:

  1. Get-NetTCPConnection -LocalPort 5173 → PID 28068 owning (Listen + Established + FinWait2)
  2. Stop-Process -Id 28068 -Force + recheck → FinWait2 remains (process gone)
  3. Get-NetTCPConnection ... -State Listen → "Port 5173 has no LISTEN — safe to rebind"
  4. cd p2m-wt-bank-primary; git status; git log → clean, HEAD at a2658eb
  5. git fetch responsibleai; git pull ... --ff-only → fast-forwarded a2658eb..d74e009
  6. Start-Process npm.cmd run dev with redirected logs → returned PID 21864
  7. Get-Content viewer-stdout.log → "VITE v7.3.2 ready in 2624 ms; Local: http://127.0.0.1:5174/"
  8. Invoke-WebRequest http://127.0.0.1:5174/ → StatusCode 200
  9. Final report to Chang with audit checklist
1. Conversation Overview: - Primary Objectives: Late-night fleet-mode session for Chang (PM, responsibleai/ASSERT OSS eval framework v1 public-preview prep). Original user requests this segment included merging Yeming's PR #182, fixing PR #180 dimension display, rebasing PR #181, plus 4 follow-up agents (M-3 jargon, CHANGELOG, TS rename, Bundle D hygiene), then clean-slate doc sweep, viewer table UX improvements stacked on #180, CI test fix + CI/GHA developer UX design memo, and finally — the current segment trigger — "kill exising ports (why still exsits 5173) and refire a new one for 180 audit." - Session Context: 9 PRs merged tonight (#182, #181, #185, #186, #187, #188, #189 in this segment; #177 earlier), PR #180 still open with 6 commits awaiting Chang's eyeball merge. Currently restarting vite for that audit. - User Intent Evolution: Started broad (fleet of 5 follow-up agents), narrowed to clean-slate doc sweep (rejecting migration callouts for clean public-preview), then specific viewer UX fixes, then specific test fix + design memo, now operational (restart viewer to inspect).
  1. Technical Foundation:
    • Vite v7.3.2 dev server: SvelteKit viewer, normally on 5173 but tonight bound to 5174 due to lingering TCP FinWait2 socket
    • PowerShell port management: Get-NetTCPConnection, Stop-Process, Start-Process with -RedirectStandardOutput/Error -WindowStyle Hidden -PassThru
    • Git worktree-per-agent pattern: p2m-wt-bank-primary is Chang's primary demo worktree, on PR viewer/compare: pin baseline left + show only populated dim columns #180 branch
    • Remote convention: responsibleai remote = responsibleai/ASSERT (push target); origin = microsoft/ASSERT (never push)
    • TCP FinWait2 explanation: lingering socket doesn't block rebind unless State=List...

Created from Copilot CLI via the copilot delegate command.

Copilot AI changed the title [WIP] Debate renaming scores.jsonl to aggregate_scores.jsonl docs: metrics.json is token-usage telemetry, not aggregate eval rates — no rename Jun 1, 2026
Copilot AI requested a review from changliu2 June 1, 2026 08:05

@changliu2 changliu2 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@minthigpen , fyi on metrics.jsonl actually storing token telemetry as opposed to aggregate scores. No rename needed.

@changliu2
changliu2 marked this pull request as ready for review June 2, 2026 04:51
@changliu2
changliu2 requested review from changliu2 and Copilot June 2, 2026 04:51
@changliu2
changliu2 enabled auto-merge (squash) June 2, 2026 04:52

Copilot AI 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.

Pull request overview

Docs-only correction clarifying that metrics.json is pipeline token-usage telemetry rather than aggregate evaluation rates, with no file rename. Adjusts inspection order and stage attribution accordingly.

Changes:

  • Correct metrics.json descriptions across user-facing docs and the judges README.
  • Re-attribute metrics.json from the judge stage to the runner (post-stage).
  • Reorder debug/inspection lists to put scores.jsonl first and metrics.json last.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
docs/guides/results.md Fix metrics.json description; reorder fast-inspection list.
docs/getting-started.md Note metrics.json is written by the runner, not the judge.
docs/concepts.md Remove metrics.json from judge-stage outputs; add runner clarification.
assert_ai/library/judges/README.md Fix weight field description to reference scores.jsonl aggregation.
AGENTS.md Reorder debug inspection order: scores.jsonl first, metrics.json last.

Copilot AI 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.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

minthigpen
minthigpen previously approved these changes Jun 12, 2026
auto-merge was automatically disabled June 12, 2026 20:11

Head branch was pushed to by a user without write access

@minthigpen
minthigpen merged commit ea256b2 into main Jun 12, 2026
19 checks passed
@minthigpen
minthigpen deleted the copilot/scores-jsonl-rename-refactor branch June 12, 2026 20:16
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.

5 participants