Skip to content

`petrova.irina.trigger` gets `AT3`, matching `petrova.sweeps.trigger`'s own precedent

Date: 2026-09-15 Status: closed Supersedes: none Superseded-by: none — current

The IRINA dashboard trend page gained a manual trigger button (two, actually — a preview one and an apply:true one), backed by a new tool, petrova.irina.trigger (host/src/tools/irina-trigger.ts), which fires workflow_dispatch on irina-cycle.yml — the exact same shape as the already-ratified petrova.sweeps.trigger (docs/decisions/2026-09-12-seam-class-taxonomy.md, which assigns it AT3 and is the taxonomy’s own worked example for that tier). Shipped mutating: true but deliberately unstamped — no seamTier set — because the taxonomy’s own AT3 paragraph, as literally written, says “No verb in the current registry is AT3 by this definition except petrova.sweeps.trigger,” so citing that paragraph for a second verb would fail host/tests/registry.test.ts’s co-occurrence check (it requires the tier and the verb’s own name in the same paragraph, not just an applicable definition). This doc is that missing citation, proposed the same way IR-002 step 4’s population act was: for countersign, not self-assigned.

petrova.irina.trigger is AT3. Same reasoning sweeps.trigger already established: it fires a real side effect outside version control at write time (a GitHub Actions run), the AT3 definition’s own bar. With apply: true, the dispatched run can additionally go on to open a real PR against hermes (gated by the WIP cap and IR-004’s own ratification, unaffected by this doc) — a strictly bigger blast radius than sweeps.trigger’s own CI-run-only effect, so AT3 is the floor here, not an overreach.

  • Does not change sweeps.trigger’s own tier or citation.
  • Does not authorize anything beyond what IR-004 already ratified for apply: true specifically — this doc only assigns the calling tool’s tier, not a new write-path scope.

Once ratified, the mechanical follow-up is stamping host/src/registry.ts’s petrova.irina.trigger entry with seamTier: "AT3" and authorizingDecision pointing here — host/tests/registry.test.ts’s existing co-occurrence check proves the citation holds, same as every other stamped verb.

  • host/src/tools/irina-trigger.ts, host/src/tools/sweeps.ts
  • docs/decisions/2026-09-12-seam-class-taxonomy.md (AT3 definition, sweeps.trigger’s own worked example)
  • docs/decisions/2026-09-14-ir-002-step4-remaining-seam-tiers.md (same propose-then-stamp pattern)

Countersigned by human:alex@devarno.com on 2026-09-15 — commit 6a036b12 (this file’s creation commit) is authored by the human directly, per docs/decisions/2026-09-05-proxy-countersign-retired.md’s post-retirement definition. Line added retroactively by the agent as scribe.