Skip to content

test(developer-experience): port eval cases T3 and T4 #9993

Open

Description

@kyle-sexton

Refs: #6649

Parent

#6649

Depends on

Problem

#6649 moves the developer-experience measurement onto claude plugin eval. Cases T3 and T4 exist only
as hand-rolled scenarios.

Fix

Port T3 and T4 from the committed scenario sources into plugins/developer-experience/evals/, one case
each, on the shared fixtures. Use deterministic graders where the scenario's D and T items allow; check
each llm grader against the committed labeled samples.

T4 #2 (owner decision Q114, 2026-10-25): first try replacing the judge item with a deterministic grader
(for example a regex that the reply reports the old .claude/ location). If the item needs judgment,
the 3 samples are relabeled by three blind agents, given the rubric and the owner's 2026-10-09 comment on
#6649 but not the old labels or judge verdicts. A label is accepted only when all three agree and it
differs from the old literal label; any other sample goes to the owner as one intent question. Then
re-calibrate to >= 90% on the subscription login (never an API key). This runs once #9936 and #9943 land;
the rest of this item does not wait on it.

Done when

  • Each case loads and passes /evals:validate (no paid run).
  • scripts/check-changelog-fragments.sh --check-required origin/main exits 0.

Filed by AI from the owner-approved split of #6649 (2026-10-18), after the scenario sources were found on melo-desk-001 (2026-10-25).

Activity

  1. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    admission-deferredReady for the issue lane; work-unblock admits it when queued work is under the queued cap
    on Oct 25, 2026
  2. added theissue type on Oct 25, 2026
  3. github-actions commented on Oct 25, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: #9936, #9943

    Understood: port the hand-rolled eval scenarios T3 and T4 into plugins/developer-experience/evals/ as one case each on the shared fixtures. Use deterministic graders where possible and check each llm grader against the labeled samples. The T4 #2 part waits on a person relabeling its samples. The rest does not wait.

    The scenario sources (#9936) and the shared fixtures (#9943) are both still open, so this work depends on them. Sibling port issues, such as the T1/T2 and S-series ones, cover other cases and don't look like duplicates.

    Automated triage, applied by the lanes App.

  4. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    The triage verdict left this issue at status: needs-decision:

    • held by needs-human
    • no lanes App verdict comment shows whether an earlier verdict was flagged
  5. added
    status: needs-decisionAwaiting a human or maintainer judgment call.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Oct 25, 2026
  6. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 25, 2026
  7. kyle-sexton commented on Oct 25, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI.

    Owner decision Q114 (2026-10-25, "go w/ recommendations"): T4 #2 no longer waits on a person relabeling.

    1. When porting T4 fix: correct plugin-system inaccuracies and harden references #2, first try replacing the judge item with a deterministic grader (for example a regex that the reply reports the old .claude/ location).
    2. If the item needs judgment, three blind agents relabel the 3 samples, given the rubric and the owner's 2026-10-09 comment on feat(developer-experience): claude plugin eval suite in GitHub Actions #6649, not the old labels or judge verdicts. A label is accepted only when all three agree and it differs from the old literal label. Any other sample goes to the owner as one intent question.
    3. Then re-calibrate to >= 90% on the subscription login (never an API key).

    Basis: the three-agent rule at plugins/evals/skills/plugin-eval/SKILL.md:391-393; the relabel precedent in docs/adr/0084. The owner accepts the validity risk against Anthropic's eval-audit guidance, which calls for human-labelled samples.

    Dependency: this runs once #9936 and #9943 land. The issue body is updated to match; needs-human is removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    admission-deferredReady for the issue lane; work-unblock admits it when queued work is under the queued cappriority: mediumReal value, no hard deadline; normal backlog flow.status: needs-decisionAwaiting a human or maintainer judgment call.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions