Protocol Model
IGRE uses a small command taxonomy. The taxonomy is intentionally strict because each verb carries different safety semantics.
| Verb | Reads | Mutates | Purpose |
|---|---|---|---|
lfetch | local true systems | ledger only | Record local grounding. |
fetch | remote true systems | ledger only | Record remote grounding. |
intend create-* | ledger fetch artifacts | ledger only | Build a proposed intervention. |
intend list/status | ledger intents | nothing | Inspect proposed or attempted interventions. |
laction | ledger and local systems | local true systems | Execute a local mutation. |
action | ledger and remote systems | remote true systems | Execute a remote mutation. |
Intent Anatomy
Section titled “Intent Anatomy”An intent is action-ready. It may contain one unit or many units. It should include:
- selected tool and action target
- source fetch lineage
- execution plan
- data paths
- success and failure checks
- invariants and blind spots
- rollback classification
- risk profile
- per-unit payloads when the workflow is batch-shaped
Execution Plans
Section titled “Execution Plans”An execution plan makes multi-step behavior explicit:
{ "steps": [ { "name": "create_remote_record", "stage": "ACTION", "required": true, "mutates": ["remote.records"] }, { "name": "verify_remote_record", "stage": "FETCH", "required": true, "reads": ["remote.record.<created_id>"] }, { "name": "update_local_cache", "stage": "LACTION", "required": false, "mutates": ["local.cache.records"] } ]}Remote verification reads are fetches even if the action runner performs them internally.
Action Validation
Section titled “Action Validation”Before mutation, laction and action must validate:
- the intent exists and still lints
- source fetches exist and are fresh
- SDK/catalog versions still match
- the requested command target matches the intent target
- the command action name matches the selected tool
- the intent’s plan allows the side effects about to happen
Any validation error blocks mutation.