e_property
Discover and manage properties — label:value pairs that enable structural retrieval.
Agent Guidance
This is the description the engine gives an agent for this tool, word for word.
Discover and manage properties — label:value pairs that enable structural retrieval.
Actions:
-
list— labels that exist (within your read scope). -
intersect—match=["label"](category) or["label:value"](exact); returns matching values/SRs. -
find—term="..."keyword search across labels and values. -
add— attach properties to SR(s) you can WRITE:sr_id(string or list) +properties=["label:value", ...]. Add-only and idempotent. A closed lane rejects labels outside its vocabulary; reservede_*labels are engine-only and rejected; adding to an SR you can read but not write is refused. -
remove—sr_id+properties(those values) and/orlabels(whole labels). -
connect— assert a NAMED RELATION between exactly two SRs:sr_id=[a, b]+hint="employs"→ the engine stampse_connect:employs_3049e7c1b82d4f6a9e05c3d71a8b2f64on both. The edge IS the shared value, so it is bidirectional and all-or-nothing: if either side is unwritable or missing, nothing is written. -
group— assert a NAMED MEMBERSHIP among two or more SRs:sr_id=[...]+hint="poker night"→e_group:poker_night_a71f0d93c6e248b5f17a2c04e9d863b5on each. A two-member group is legal and is NOT an edge. -
disconnect—sr_id=[a, b]: removes their sharede_connectfrom both, all-or-nothing. Sharing several? Name one withhint(token or hint). -
ungroup/unadjust—hint="e_group:<token>"/"e_adjustment:<token>", optionalsr_id=[...](none = every holder you can see): removes it; unwritable ones are skipped and reported (skipped_unwritable, with their lanes inunwritable_lanes).
Never express a relationship by putting another entity's name on a record — that
is ambiguous with the record's own identity. State identity with name:, assert
structure with connect/group. You supply the meaning (hint); the engine
supplies the uniqueness.
Always list/intersect before inventing a label — reuse what exists.
Arguments
| Argument | Type | Default |
|---|---|---|
action | list · intersect · find · add · remove · connect · group · disconnect · ungroup · unadjust | required |
match | list of strings | — |
term | string | — |
sr_id | str | list of strings | — |
properties | list of strings | — |
labels | list of strings | — |
hint | string | — |
page | integer | 1 |
page_size | integer | 20 |
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 |
|---|
Invalid action '…'. Must be one of: … |
remove requires properties (['label:value', ...]) and/or labels (['label', ...]) |
remove requires sr_id (string or list of strings) |
agent_profile has no write lane |
add requires properties (list of 'label:value' strings) |
add requires sr_id (string or list of strings) |
no writable records among … — not found: …, outside write authority: …. Nothing was written. |
find action requires term |
not found |
intersect action requires match |
not writable: lane '…' is not in this agent_profile's write authority |