Skip to content

test(planning): close the regex precision gaps in the st-* stress-test graders #12957

Description

@kyle-sexton

Refs: #12925, #12478

Problem

#12835 (the #12478 eval) merged before its last fix round landed. That round tightens the 48 regex graders in the 12 st-* stress-test cases under plugins/planning/evals, which mis-sort answers in four ways:

  • (A) a bare draft word (draft, plan) in a line trips a dismissal exclusion;
  • (B) a quoted claim from the plan that the answer then disputes is graded as the answer's own dismissal;
  • (C) negation windows bridge into the next verb, or miss none/nothing;
  • (D) exclusion phrases broad enough to also swallow a real attack on the sound part.

#12925 keeps the separate question of moving sound-part (or the defect checks) to an LLM judge; this issue covers only the regex repairs, which #12925's Problem section assigns to #12835's fix round.

Done when

  • All 48 st-* regex graders carry repairs for (A)-(D), and a quoted claim lifts a dismissal exclusion only when a contrast word follows it, so an answer that quotes and endorses the plan earns no credit.
  • Every repaired gap is pinned by samples/<grader>.json answers, and python3 plugins/evals/skills/validate/scripts/validate-cases.py plugins/planning/evals reports no FAIL.
  • Known limits the regex cannot separate (a claim rebutted with no contrast word, an unrelated contrast clause) are pinned as samples whose why starts "known limit:" and named in the changelog fragment.
  • A planning changelog fragment records the fix.

Out of scope

Filed by lane 2 from #12947's pr-verify finding: the sweep needs its own spec instead of Refs: #12925.

Activity

  1. self-assigned this
    on Nov 3, 2026
  2. kyle-sexton commented on Nov 3, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  3. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  4. github-actions commented on Nov 3, 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: Known
    Flags: none
    Blocked by: none

    Understood: repair the 48 regex graders in the 12 st-* stress-test cases under plugins/planning/evals for gaps (A)-(D), pin each repair with samples, record known limits, and add a planning changelog fragment. The grading-method question and any LLM judge stay in #12925, which this issue does not duplicate. The done-when items are clear, so nothing is missing.

    Automated triage, applied by the lanes App.

  5. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  6. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 3, 2026
  7. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: open pull request #12947 is for it.

  8. removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Type

Fields

Work status

ready

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions