omniseek_ruling
Create, list, or delete same_as/not_same_as rulings for graph node pairs to collapse or reject them in views. Verdicts persist as declarative state applied at read time.
Instructions
Use WHEN two graph nodes ARE (or are NOT) the same person / entity and you want views to collapse them — record / list / retract same_as | not_same_as rulings (the one judgment channel the graph's working policy applies).
OmniSeek never MAKES a ruling; it STORES yours as declarative state and APPLIES it at read time
(the sensors.json precedent: judgment persisted as config OmniSeek executes mechanically). A ruling
says "these two graph nodes ARE / are NOT the same entity"; omniseek_graph's working and
exploratory policies then collapse (or reject) that pair when projecting a view. The pair is
the KEY: it normalizes to src < dst, re-creating a pair REPLACES the prior verdict (declarative
state, not a log; git history is the audit trail).
action picks what to do:
• action="create" (src, dst, verdict="same"|"not_same"; optional note) -> record the ruling.
Returns {created: true, ruling, replaced} (replaced=true if it overwrote a prior verdict for the
pair). A bad verdict / empty or identical endpoints -> {"error": ...}.
• action="list" -> {rulings: [{src, dst, verdict, note, ruled_at}], count}.
• action="delete" (src, dst) -> {deleted: true/false} (false if no ruling existed for the pair).
This is a SEPARATE tool from omniseek_graph (not an omniseek_graph action) because omniseek_graph is batchable in omniseek_gather ONLY because it is read-only; folding a write into it would let the gather whitelist write. Unknown action -> {"error": ...}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dst | No | ||
| src | No | ||
| note | No | ||
| action | Yes | ||
| verdict | No |