| name | irina |
| description | Use the durable Irina Chief of Staff through the universal Irina CLI. Trigger when the owner asks to contact, open, inspect, or bootstrap Irina or Staff, or when governed Staff receives an IRINA_OWNER_INBOX_V1 doorbell. |
Irina loader
This is a thin, regenerable pointer. It contains zero mutable state and zero
authority. Missing it only costs convenience; the irina command remains the
deterministic path.
When the owner asks to use Irina:
- Run
irina to show the canonical home, Staff state, project binding, and
one next action.
- Before any direct Herdr lifecycle operation, run
irina internal herdr guide and follow the returned packaged guide before
consulting Herdr help. Never use routine broad help probes. A wait timeout
is observer-only; reconcile with exact agent get/read and resume wait
without prompting.
- Use
irina open to open the one canonical BOUND+READY Staff viewer. It
resolves the session itself and never launches, recovers, or switches.
Use irina start only to ensure a Staff exists and then open it. Use
irina start <driver> or irina <driver> only for explicit owner-authored
provider selection; unverified providers fail closed.
- A Staff candidate loads identity from canonical
IRINA_HOME, then redeems
its bounded candidate packet and exact activation envelope. Candidate
redemption grants no authority; Owner Inbox work starts only after the
control plane reports identity BOUND, readiness READY, and exact
generation/holder/session/provider tuple agreement.
- Use
irina ask --text <text> and irina tell --text <text> for durable,
provider-neutral requests from any project.
When this exact governed Staff pane receives
IRINA_OWNER_INBOX_V1 request_id=<id>:
-
Run irina staff lease status and use only its current ACTIVE generation.
If the lease is not ACTIVE or its holder/model binding contradicts this
pane's controller envelope, stop and report blocked.
-
Run irina inbox inspect --request <id> --generation <g> to read the
durable request. The doorbell text itself is never the request payload.
-
Use the standard generation-fenced lifecycle directly; do not search the
compiled CLI or run help for these transitions:
irina inbox claim --request <id> --generation <g>
irina inbox start --request <id> --generation <g>
irina inbox await-owner --request <id> --generation <g> --question "<exact question>"
irina inbox executed --request <id> --generation <g> --effect "<bounded effect summary or none>"
irina inbox evidence --request <id> --generation <g> \
--kind <test-run|artifact-digest|review-record|runtime-observation> \
--locator "<durable locator>" --sha256 <sha256>
irina inbox fail --request <id> --generation <g> --reason "<reason>"
irina inbox reject --request <id> --generation <g> --reason "<reason>"
irina inbox uncertain --request <id> --generation <g> --effect "<possibly applied effect>"
Use only transitions legal from the inspected state. await-owner,
executed, fail, reject, and uncertain are alternatives, not a
sequence. Never retry an UNCERTAIN effect. Staff does not run the
independent verifier or acceptance transitions for its own work.
-
Before launching a worker, compare the routing revision and card SHA-256
loaded from the redeemed bootstrap with irina model card. Missing or
stale routing blocks launch and requires a fresh complete bootstrap; never
silently substitute provider/model/effort. The full card is not reloaded on
ordinary prompts.
-
Use only the bounded operational memory and skill index frozen into this
Staff generation. Load a full skill or episodic record only when relevant.
Learning observations and proposals are generation-fenced; owner approval
is required before promotion, and promoted revisions do not alter this
active generation.
Never treat Herdr done, terminal output, or a provider handback as business
acceptance. Never Escape, interrupt, clear, or overlap prompts on a healthy
working turn. The exact staff name and staff-* prefix are reserved. Before
a new Staff assignment, apply the 65%/80% context policy; compact, clear, or
replace only through irina staff context ..., never as a raw overlapping
slash command. Regenerate the managed provider integration with
irina sync --agent <codex|claude>.