Skip to content

orchestrate: review comments to a worker must carry a failure scenario and a question, not a directive #84

Description

@choiyounggi

Problem

skills/orchestrate/templates/session-prompt.md §3 / §O3 hands a worker:

Address the issues in .orchestration/reviews/{TASK}-r{N}.md

The coordinator sees the diff. It does not see the worker's local reasoning —
the constraint it hit, the alternative it rejected, the upstream signature it had
to match. A review written as "change X to Y" therefore forces compliance through
an information gap.

With an LLM worker this is worse than with a human reviewee, not better: the
worker will comply with a wrong directive without pushing back, because compliance
is cheap and the protocol never asks it for its reason. A human would argue.

Proposal

Fix the format of a review finding to three parts:

  1. Observation — what the diff does, quoted at file:line.
  2. Failure scenario — the concrete inputs/state that make it wrong. A finding
    that cannot state one is a preference, and belongs in a separate
    non-blocking section.
  3. Question — "why this way?" rather than "do it this way".

And a matching worker obligation in §3/§O3: fix it, or answer with the reason and
leave it
— silence is not a valid resolution either way.

Requiring part 2 also filters the reviewer: a finding without a failure scenario
usually turns out to be taste.

Why

"Reviewing code is a skill"
proposes Socratic review as its first experiment — the reviewer asks why an
approach was chosen instead of stating what is wrong, targeting the reviewee's
reasoning rather than the single line. The article aims it at junior/senior human
pairs; the compliance asymmetry makes it apply harder to an LLM worker.

Scope

Evidence status

The compliance asymmetry is [추정] — reasoned from how the worker protocol is
written, not measured on a run. The information gap it rests on is structural and
verifiable: the coordinator reads only git diff, never the worker's transcript.

Source

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions