e_correct
Record and manage corrections.
Agent Guidance
This is the description the engine gives an agent for this tool, word for word.
Record and manage corrections. A correction states the truth about an SR that is WRONG, pinned to exactly one sr_id (one correction, one record). For an SR that is right but has since evolved, use e_ingest adjusts= instead.
Actions: create (content + sr_id, both required), retract (correction_id), inspect (view one), list (browse). A correction names one record and does not change: to change one, retract it and create another. Requires write authority over the target SR's lane. A correction supersedes the original and surfaces on e_read and as has_correction in e_gather/e_timeline.
Arguments
| Argument | Type | Default |
|---|---|---|
action | create · retract · inspect · list | required |
content | string | — |
correction_id | string | — |
authority | string | human_correction |
comment | string | — |
sr_id | string | — |
status | string | — |
query | string | — |
page | integer | 1 |
page_size | integer | — |
agent_profile | string | — |
Refusals
A refusal is returned as {"error": "…"}. These are the ones this tool raises itself; … stands for a value filled in at the time.
| Text |
|---|
agent_profile has no write authority over the correction's lane: … |
'content' is required for create action |
'sr_id' is required for create action: a correction names exactly one SR |
'correction_id' is required for retract action |
Invalid action '…'. Must be one of: create, retract, inspect, list |
Actions
| Action | Does | Requires |
|---|---|---|
create | Attaches a new correction to one record | content, sr_id |
retract | Withdraws a correction | correction_id |
inspect | Returns one correction with its history, or the corrections on one record | correction_id or sr_id |
list | Pages through corrections | — |
A correction names exactly one record and does not change: to change one, retract it and create another. create requires write access to the record's lane, and retract to the correction's lane. inspect and list do not.
Returns
create returns the new correction.
| Field | Meaning |
|---|---|
correction_id | The correction's id: cor_ and 32 hexadecimal characters |
version | 1 for a new correction |
status | active |
sr_id | The record it corrects |
affected_srs | A preview of that record |
affected_count | 1 |
comment | The comment, if one was given |
inspect returns a corrections list. Each entry has correction_id, version, content, authority, status, sr_id, affected_count and history.
Example
{
"action": "create",
"sr_id": "sr_3f9a1c20e47b5d16a2e8c0b7d4f19a63",
"content": "The Acme renewal is due 2026-12-31. The earlier date was misread from a draft.",
"comment": "Checked against the signed contract."
}
{
"correction_id": "cor_8b1e04d7f3a96c25d10e7b4a92f6c3e8",
"version": 1,
"status": "active",
"sr_id": "sr_3f9a1c20e47b5d16a2e8c0b7d4f19a63",
"affected_srs": ["…"],
"affected_count": 1,
"comment": "Checked against the signed contract."
}
Further refusals
These come from the correction service the tool calls.
| Text | Cause |
|---|---|
'sr_id' is required: a correction names exactly one SR. | create was called without sr_id |
sr_id '…' not found | No live record has that id |
Correction … not found | No correction has that id |
Correction … is already retracted | retract was called twice |
Provide correction_id or sr_id | inspect was called with neither |
page_size must be between 1 and …; received … | page_size is outside the allowed range |
Where a correction appears
On e_read, with the record it corrects. On e_gather and e_timeline, as has_correction on the record. How to use it: correcting a record.