Skip to content

feat(session-flow): add Matt's retro findings to /session-flow:retro session mode #12122

Description

@kyle-sexton

Parent #7575 decides "Retro absorbs Matt's retro: "no guardrail for this mistake" and "unwired or broken check" findings, information-access and no-op-in-steering-file categories, writing-for-agents yardstick, pointer after a long search, tool-economy finding (D9, D48, Q524)", and names this as half of the retro-absorb-and-trends-move slice, which was never filed. The owner approved D48 on 2026-10-13 (poteto-review decision row 48): "absorb into /session-flow:retro, adapted (copy where it fits): the "no guardrail for this mistake" and "unwired or broken check" finding (builds decision 9); information-access and no-ops-in-steering-files categories; writing-for-agents as the yardstick for steering files; a pointer after a long search." The owner accepted Q524 on 2026-10-15, which adds the tool-economy line verbatim: "an expensive tool call, or a custom CLI or MCP server whose output costs more tokens than its use needs". The source is Matt Pocock's retro skill at mattpocock/skills@49dd158d, skills/engineering/retro/SKILL.md lines 11 and 17-23. On main, session mode (plugins/session-flow/skills/retro/context/session.md) looks for none of these. The "no guardrail" finding exists only in codify mode (context/codify.md:54-56). The Phase 3 catalog session mode loads already routes three of them to owner skills (reference/ecosystem-improvement-catalog.md:76-79: no-ops to /harness-config:audit-instructions and /harness-config:unhobble, token-costly tools to /developer-experience:build-cli, misleading steering files to /docs-hygiene:write-for-agents); build on those rows rather than adding a second route. The retro row of docs/upstream/mattpocock-skills.md still says ours "took nothing".

Done when

  • plugins/session-flow/skills/retro/context/session.md names each of the following as a finding session mode looks for, in Phase 2 or Phase 3, with the route each one takes:
    • No guardrail: a recurring mistake that meets the "Guardrail criterion" section of reference/enforcement-ladder.md but that no check covers. It is reported as a "no guardrail" finding naming that section, as context/codify.md already does.
    • Unwired or broken check: an existing check that should have caught the mistake but is not wired into CI or pre-commit, or is broken. This finding is reported before any new check is proposed.
    • Information access: information the session needed but could not reach, such as dev-server logs not written to a file the agent can read, or a read-only service it had no way to query.
    • No-op in a steering file: a line in CLAUDE.md, AGENTS.md or a rules file that the model would follow without it. It is routed to /harness-config:unhobble or /harness-config:audit-instructions.
    • Pointer after a long search: when the session searched at length to find something, the finding proposes a navigation pointer in the steering file that would have led there.
  • Section 2E, "Efficiency assessment", in context/session.md adds a tool-economy bullet that contains the text "an expensive tool call, or a custom CLI or MCP server whose output costs more tokens than its use needs".
  • context/session.md states that a finding about a steering file (CLAUDE.md, AGENTS.md, rules) is judged against /docs-hygiene:write-for-agents, read through the Skill tool when it is among the available skills. Without it, the report says the yardstick was not available. The skill is cited by its /plugin:skill name, never by path.
  • The "When to propose a check" paragraph in plugins/session-flow/skills/retro/reference/ecosystem-improvement-catalog.md says that an unwired or broken existing check is the finding before any new check is proposed, and that a repository with no check to wire one into is itself a finding. The existing clause "or the repo has nothing to wire a check into" (:85 on main) stays, and the added text says that this case is still reported as a finding, so the change only adds text.
  • docs/upstream/mattpocock-skills.md no longer says ours took nothing from Matt's retro:
    • the retro row (:57 on main) and the per-skill summary entry (:319 on main) list the items adopted, citing D48 and Q524;
    • the "Pruning: no-ops" row (:131 on main) says retro now carries the no-op category.
  • plugins/session-flow/evals/ gains at least one case whose case.yaml uses the same schema_version as re-codify-routes-check-asks-first/case.yaml:
    • its prompt runs /session-flow:retro session on a session where a lint script that would have caught the mistake exists but no CI or pre-commit step runs it;
    • its expected_outcome says the report names the unwired check as the finding before proposing any new check;
    • its graders include a no-Write and no-Edit grader, because Phase 4 asks before acting.
  • The diff edits neither plugins/session-flow/skills/retro/SKILL.md nor plugins/session-flow/skills/retro/evals/evals.json, which slice S2 changes.
  • A .changes/session-flow/*.md fragment with bump: minor describes the new findings.
  • The PR's CI is green.

Out of scope

  • Moving trends to /session-flow:audit-sessions (slice S2).
  • The chain-end retro offer and the findings buffer (D50 item 10).
  • Building any check: retro proposes, and the owner skill picks the mechanism.

Related

Parent: #7575

Activity

  1. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Nov 1, 2026
  2. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 1, 2026
  3. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  4. melodic-automation-lanes commented on Nov 1, 2026

    @melodic-automation-lanes
    Contributor

    The work-resolve-issue run that agent-ready started waited in its slot past a change to its lane workflow files on main, so it stopped before any model turn. The run's report-outcome removed and added agent-ready back to start a fresh run on main's workflow files. If this run ends the same way, it re-fires the issue again, waiting longer each time.

  5. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 1, 2026
  6. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.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.

    Fields

    No fields configured for Feature.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions