Skip to content

work-items(work): per-issue execution should compose installed skills as a role-separated mini-SDLC (implementer ≠ reviewer ≠ verifier, ephemeral fresh-context agents) #513

Description

@kyle-sexton

Category: design/behavioral · Source: operator direction, control-tower checkpoint 2026-07-19

Problem

The work lane's per-issue execution is a single dispatched agent doing everything: understand, implement, test, self-review. That is a small, flattened subset of the SDLC we run manually every day. Two gaps:

  1. No skill composition. The dispatched agent does not invoke the installed skill catalog the human uses for the same work. The marketplace ships a full pipeline; the loop uses almost none of it.
  2. No role separation. The agent that writes the code is the agent that reviews and tests it. Boris's autonomy guidance and our own review plugins are built on the opposite premise: fresh, unbiased eyes per layer. Same-agent review is biased review.

Direction

Per-issue execution should be an orchestrated mini-SDLC composed from installed skills, with role-separated, ephemeral, fresh-context subagents (nesting is available up to 5 levels — layers don't all have to be concurrently active):

  • Baseline lanes for a typical issue: explore (discovery:explore / explore-deep), research when external facts matter (discovery:research / research-deep), plan (planning:architect), adversarial pass (planning:devils-advocate) on non-trivial plans, implement (implementation:implement / implement-dispatch), test (tdd:principles posture + testing:*), verify (toolchain:build, verification:confirm), review (review:* — a DIFFERENT agent than the implementer), re-anchor (re-anchor:*) periodically.
  • Complexity-scaled: trivial mechanical fixes skip most layers; large/foggy items escalate (planning:wayfind, planning:brainstorm, planning:prd, prototype:*). The orchestrator sizes the pipeline to the ticket, it does not run every skill every time.
  • Separation of duties is the invariant: implementer ≠ reviewer ≠ verifier. Fresh context per role — ephemeral agents, never long-lived (context degradation, "dumb zone"). Return-payload contracts per loops/skills: orchestrator context economy — subagent return-payload contracts + GitHub-externalized state #496 keep the orchestrator lean.
  • Deterministic steps get scripts, not reasoning. Anything mechanical (version bump, CHANGELOG insert, PR skeleton, gate checks) is scripted; agents reason only where reasoning is needed.
  • Dogfood/empowerment principle: the pipeline should detect and recommend gaps like this itself (self-observation rule already standing in lanes) — record this issue as the pattern to emulate.

Relations

Triage questions

  • Where does the pipeline definition live: work-items:work skill, a new orchestration skill, or per-issue in the T2 plan (triage lane already writes plans — plan could name the lanes required)?
  • Complexity heuristic: label-driven (existing priority/complexity labels), plan-driven, or orchestrator judgment?

Reference: Boris Cherny, "Steps of AI Adoption" (Google Doc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions