piyaz_edge
Create, update, or remove dependency edges between tasks.
piyaz_edge
Create, update, or remove dependency edges between tasks. depends_on=source needs target's output (target must be done first). relates_to=informational link, neither blocks the other. Litmus test: removing the target makes the source impossible → depends_on; just makes it harder → relates_to. create: edge note REQUIRED and substantive; notes propagate to downstream agent context, and placeholders ('needed', 'depends') are rejected. Write it as a brief to the developer about to start the source task. update: change edgeType or note by edgeId. remove: by edgeId OR by sourceTaskId+targetTaskId+edgeType. Server rejects self-edges, duplicates, and cycles. On 'duplicate edge' (concurrent-write race): treat as success and verify with piyaz_query type='edges'.
Actions
| Action | Purpose |
|---|---|
create | new edge |
update | modify type or note |
remove | delete by edgeId or by source+target+type |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
action | "create" | "update" | "remove" | Yes | create=new edge. update=modify type or note. remove=delete by edgeId or by source+target+type. |
edgeId | string (uuid) | No | Edge UUID. Required for update. For remove: use this OR sourceTaskId+targetTaskId+edgeType. |
edgeType | "depends_on" | "relates_to" | No | depends_on = source needs target done first. relates_to = informational link, neither blocks the other. Required for create. |
note | string | No | Why this relationship exists. Propagates to agent context for downstream tasks, so write it as a brief to the developer about to start the source task: what specifically does this task get from the target? REQUIRED on create; placeholders ('needed', 'depends', 'related') are rejected. |
sourceTaskId | string (uuid) | No | Source task UUID. Required for create. Alternative key for remove. |
targetTaskId | string (uuid) | No | Target task UUID. Required for create. Alternative key for remove. |