Skip to content

work-items(triage): retire the T1/T2/T3 classification vocabulary superseded by the work-class axis #1254

Description

@kyle-sexton

This was generated by AI during a triage session in github-iac.

Observation

Two vocabularies currently describe one dimension — how work is classified for autonomous routing:

  • C1C5 work classes — the normative risk taxonomy in the autonomy plugin's guardrail
    contract (blast radius / reversibility / input provenance / verifiability), consumed by the
    admission gate, the merge-authority ladder, and the dispatch/isolation floor.
  • T1/T2/T3 (simple / medium / complex) — a triage-routing shorthand originating in the
    leave-week loop-prompt scaffolding, still surfacing in shipped contract text: the triage skill's
    outcome table carries a "Briefed, T1 multi-surface stub" row, and the loop prompts emit
    simple/medium/complex counts in their cycle status lines.

The T-tiers were scaffolding that predates the work classes reaching the shipped gates. Leaving both
live is a silent second way of saying the same thing.

Decision already taken downstream (context, not a question)

github-iac ratified a work-class: label axis on 2026-07-24 whose five members are
human-readable aliases of C1C5 (read-only, mechanical, scoped, structural,
untrusted-provenance) — see melodic-software/github-iac#176 and its ADR 0009. In the same decision,
a separate complexity/effort axis was declined: the upstream source material treats complexity as
a runtime model-routing signal, not durable metadata, and no shipped consumer reads a planning-depth
stamp. That deferral carries a named trigger (a consumer that genuinely needs planning depth — the
frontier-tier complexity-dispatcher work is the candidate), at which point native Issue Fields
(Effort) is the likelier home than a label.

So the disposition question here is not which vocabulary wins — it is applying that outcome to the
shipped plugin text.

Direction (no open decision)

Retire T1/T2/T3 as a classification vocabulary in shipped contract surfaces:

  • The triage outcome currently labelled "T1 multi-surface stub" describes a real and useful case —
    a trivial fix spanning several surfaces where a one-line sites + fix pattern comment replaces a
    full brief. Keep the outcome; re-express its trigger in work-class terms (mechanical-class work)
    or describe the case directly, without the tier token.
  • Loop-prompt status lines reporting simple/medium/complex counts are operational telemetry rather
    than contract text; either re-express them in work-class terms for consistency or record explicitly
    that they are a lane-local reporting convenience, so the coexistence is documented rather than
    accidental.
  • Nothing here changes the C1C5 machine tokens, their schema enums, or the gates that read them.

Acceptance

  • No shipped skill or contract surface uses T1/T2/T3 as a work-classification vocabulary
  • The multi-surface trivial-fix outcome still exists, with its trigger expressed without a tier token
  • Any remaining simple/medium/complex usage is explicitly scoped as lane-local telemetry, not
    classification
  • The relationship between the work classes and triage routing is stated once, where triage
    routing is defined, rather than implied by two parallel vocabularies

Activity

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

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: lowNice-to-have, cosmetic, or speculative; opportunistic.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions