Skip to content

docs(docs-hygiene): cut write-for-agents' 'Ask for outcomes, not thinking' paragraph, measured no-loss #12359

Closed as not planned

Description

@kyle-sexton

This was generated by AI.

Parent

Sliced from #11823 (finding 5; see #12272's "Remaining on #11823").

Problem

The #6916 sweep marked a cut to the "Ask for outcomes, not thinking" paragraph of plugins/docs-hygiene/skills/write-for-agents/SKILL.md (from :139 on main, 2026-11-02). The paragraph restates, per model, whether a "think carefully" line helps. Neither #11823 nor #12272 records why the sweep chose this cut; read sweep records 6916-w3 and 6916-w5 before cutting. A cut to an existing skill ships only with eval evidence of no loss (plugins/playbooks/skills/skill-authoring/reference/skill-criteria.md, "Rewriting an existing skill"). Re-read the line against current main first.

Done when

  • An eval case exercises the cut text, with a negative control (the passage deleted) that drops clearly below the before text.
  • Before and after are measured on VALID runs. The cut ships only on no loss; a loss is recorded here.

Related

Activity

  1. added
    host-runNeeds an unattended run on a host; the host runner takes it, not a person or the issue lane.
    on Nov 2, 2026
  2. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  3. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor

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

    Size: Small
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: this asks to cut the "Ask for outcomes, not thinking" paragraph from the write-for-agents skill in docs-hygiene. The cut ships only if an eval case with a negative control shows no loss on valid runs. If the eval shows a loss, record it here instead of cutting. The sweep records (6916-w3, 6916-w5) and the current line on main should be read first. No likely duplicates found among open issues.

    Automated triage, applied by the lanes App.

  4. added
    priority: lowNice-to-have, cosmetic, or speculative; opportunistic.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 2, 2026
  5. 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 2, 2026
  6. added
    status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Nov 2, 2026
  7. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane: it carries host-run. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).

  8. melodic-automation-lanes commented on Nov 2, 2026

    @melodic-automation-lanes
    Contributor

    The latest triage verdict holds nothing: admission moved the issue to status: confirmed; its comment says why.

  9. kyle-sexton commented on Nov 2, 2026

    @kyle-sexton
    MemberAuthor

    Claimed by lane 1 (melo-lap-001, hub assignment 2026-11-02 16:5xZ). Plan: read sweep records 6916-w3/w5 and current main first; eval case plus deleted-passage negative control, before/after on VALID runs; cut ships only on no loss.

  10. kyle-sexton commented on Nov 2, 2026

    @kyle-sexton
    MemberAuthor

    Lane 1 result: kept with reason. No cut ships, and the paragraph keeps its current text.

    Measured 2026-11-02 18:06-18:08Z on Opus 5.5 (Claude Code 2.1.316). Three new deterministic-grader cases ran in three versions (before, a trimmed after, and a negative control with the paragraph deleted), 3 runs each. All three versions passed run-validity.py (VALID).

    case before after (trim) negative control (deleted)
    wfa-dont-think-to-effort 1, 1, 1 1, 1, 1 1, 1, 1
    wfa-think-steer-to-effort 1, 1, 1 1, 1, 1 0.75, 0.75, 0.75
    wfa-ultrathink-keyword-to-effort 1, 1, 1 1, 1, 1 1, 1, 1
    • The negative control's mean change was -0.08 (95% interval -0.25 to +0.08), with no case drop. That is under the preregistered 0.15 detection threshold, so this suite cannot measure the paragraph. Under rewrite-a-plugin.md the before text stays, and so the done-when's "control drops clearly below" is not met.
    • The trim scored the same as before (non-inferior at margin 0.05). It does not ship, because the control shows the suite is not sensitive to this paragraph.
    • Without the paragraph, Opus 5.5 still removed every think-carefully, ultrathink and don't-think line in all 9 runs. The only difference was that one case stopped naming the effort level as the replacement.
    • The "never ask the model to show its reasoning" sentence (I10) cannot be measured on Opus 5.5. Every case that quoted a request for the model's reasoning ended in a reasoning_extraction safeguard refusal at the first turn (3 wordings tried).
    • Sweep records: 6916-w3 does not mention write-for-agents. The per-finding 6916-w5 record lived in a worktree that has since been reaped, so why the sweep chose this cut is UNVERIFIED.

    Re-measure trigger: a model release for which the bare model keeps think lines, or a case the bare model fails. Branch docs/12359-wfa-cut-outcomes-paragraph (head 1eb8666ba6) holds the cases and the run record; no PR, since it changes no skill text.

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

    host-runNeeds an unattended run on a host; the host runner takes it, not a person or the issue lane.priority: lowNice-to-have, cosmetic, or speculative; opportunistic.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    Work status

    confirmed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions