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:
C1–C5 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 C1–C5 (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
C1–C5 machine tokens, their schema enums, or the gates that read them.
Acceptance
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:
C1–C5work classes — the normative risk taxonomy in the autonomy plugin's guardrailcontract (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 theleave-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/complexcounts 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-iacratified awork-class:label axis on 2026-07-24 whose five members arehuman-readable aliases of
C1–C5(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/T3as a classification vocabulary in shipped contract surfaces:a trivial fix spanning several surfaces where a one-line
sites + fix patterncomment replaces afull brief. Keep the outcome; re-express its trigger in work-class terms (mechanical-class work)
or describe the case directly, without the tier token.
simple/medium/complexcounts are operational telemetry ratherthan 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.
C1–C5machine tokens, their schema enums, or the gates that read them.Acceptance
T1/T2/T3as a work-classification vocabularysimple/medium/complexusage is explicitly scoped as lane-local telemetry, notclassification
routing is defined, rather than implied by two parallel vocabularies