Wire operations
The closed operation set: 63 operations. The wire name is each op’s serde identifier; its request and response payload schemas live under contracts/dli-worker/schemas/. Summary is Op::summary() — the same tool-selection text an agent reads over MCP. The batch dli.* family and the author.* authoring-seam tools are one closed set.
| # | Wire name | Summary | Request schema | Response schema |
|---|---|---|---|---|
| 1 | dli.version | Report the worker contract version and this build’s wired capabilities. | dli.version.request.json | dli.version.response.json |
| 2 | dli.check | Validate a loaded document: self-consistency findings over the compiled world. | dli.check.request.json | dli.check.response.json |
| 3 | dli.query | Query a saturated world for a goal atom’s support, grade, and standing. | dli.query.request.json | dli.query.response.json |
| 4 | dli.fork.new | Open a fork: an exploratory condition context over an unchanged world. | dli.fork.new.request.json | dli.fork.new.response.json |
| 5 | dli.fork.list | List the open forks over a document. | dli.fork.list.request.json | dli.fork.list.response.json |
| 6 | dli.fork.diff | Show a fork’s derived-consequence diff against the base ledger. | dli.fork.diff.request.json | dli.fork.diff.response.json |
| 7 | dli.fork.suppose | Assume an option or event true within a fork and see what its consequences become. | dli.fork.suppose.request.json | dli.fork.suppose.response.json |
| 8 | dli.fork.add | Add proposed declarations into a fork — fork-local exploration, never canon. | dli.fork.add.request.json | dli.fork.add.response.json |
| 9 | dli.fork.suppress | Retract an assumption from a fork. | dli.fork.suppress.request.json | dli.fork.suppress.response.json |
| 10 | dli.fork.restrict | Restrict a fork’s valuation scope to a set of atoms. | dli.fork.restrict.request.json | dli.fork.restrict.response.json |
| 11 | dli.fork.preflight | Ratification pre-flight: the candidate valuation a fork implies and the conflicts it would introduce. | dli.fork.preflight.request.json | dli.fork.preflight.response.json |
| 12 | dli.fork.promote | Emit a ruling-request draft from a fork — the machine proposes, it never rules. | dli.fork.promote.request.json | dli.fork.promote.response.json |
| 13 | dli.check-proof | Check a diegetic proof block declared in a practice. | dli.check-proof.request.json | dli.check-proof.response.json |
| 14 | dli.timeline.show | Show the timeline at a position. | dli.timeline.show.request.json | dli.timeline.show.response.json |
| 15 | dli.timeline.order | Report the partial order over the timeline. | dli.timeline.order.request.json | dli.timeline.order.response.json |
| 16 | dli.timeline.knows | Who-knows-what matrix at a timeline position. | dli.timeline.knows.request.json | dli.timeline.knows.response.json |
| 17 | dli.timeline.episodes | Check episode ordering and report the slack in each slot. | dli.timeline.episodes.request.json | dli.timeline.episodes.response.json |
| 18 | dli.timeline.phases | Phase-walk verdict for an episode. | dli.timeline.phases.request.json | dli.timeline.phases.response.json |
| 19 | dli.export.run | Run an export target under a profile. | dli.export.run.request.json | dli.export.run.response.json |
| 20 | dli.name.check | Vet a proposed name through the naming oracle before it enters lore. | dli.name.check.request.json | dli.name.check.response.json |
| 21 | dli.attest.missing | List questions that lack a current attestation. | dli.attest.missing.request.json | dli.attest.missing.response.json |
| 22 | dli.corpus.import | Import a corpus into a document’s store — fact objects on any build, .dli documents on a syntax build. | dli.corpus.import.request.json | dli.corpus.import.response.json |
| 23 | dli.corpus.export | Export a document’s folded fact objects at a head — the live state, not the commit log. | dli.corpus.export.request.json | dli.corpus.export.response.json |
| 24 | author.open | Open an authoring workspace over a scope or fork; returns its id and digest. | author.open.request.json | author.open.response.json |
| 25 | author.status | Summarize a workspace: its staged canonical surface and current digest. | author.status.request.json | author.status.response.json |
| 26 | author.diff | Show the workspace’s staged change as structured per-fact diff rows (before/after standing) with findings and derived consequences; the .dli rendering is empty unless a formatter is linked. | author.diff.request.json | author.diff.response.json |
| 27 | author.discard | Drop a whole workspace, or one staged declaration. | author.discard.request.json | author.discard.response.json |
| 28 | author.materialize | Commit the workspace’s staged fact objects to the lorestore — the accept decision — and return them as JSON (facts and root_hash), with .dli rendering behind rendered:true; an optional decision makes the accepted FACTS certain under it (not carriage claims like rules, same-as, or inertial declarations — those need record_decision plus a cited declaration); refuses while any error-severity finding is open. | author.materialize.request.json | author.materialize.response.json |
| 29 | author.add_entity | Introduce a person, place, thing, or era into the workspace, with provenance (events use author.add_event). | author.add_entity.request.json | author.add_entity.response.json |
| 30 | author.add_fact | Assert a keyed attribute value on an entity (entity.key = value), with provenance. | author.add_fact.request.json | author.add_fact.response.json |
| 31 | author.add_relation | Assert a binary relation between two entities, with provenance. | author.add_relation.request.json | author.add_relation.response.json |
| 32 | author.add_event | Introduce a chronology event anchored to an era, with provenance. | author.add_event.request.json | author.add_event.response.json |
| 33 | author.add_before | Order one event before another, with provenance. | author.add_before.request.json | author.add_before.response.json |
| 34 | author.open_question | File an open question with its options as tracked debt. | author.open_question.request.json | author.open_question.response.json |
| 35 | author.add_option | Add one option to a question already open in the workspace. | author.add_option.request.json | author.add_option.response.json |
| 36 | author.add_hypothesis | Mint a fork-local hypothesis variable for supposition. | author.add_hypothesis.request.json | author.add_hypothesis.response.json |
| 37 | author.suppose | Suppose staged hypotheses true within a fork and see the consequences move. | author.suppose.request.json | author.suppose.response.json |
| 38 | author.query | Query the staged world (base + your in-progress work): what holds about an entity now. | author.query.request.json | author.query.response.json |
| 39 | author.check | Run the full check battery over the staged world — verify your whole draft before materialize. | author.check.request.json | author.check.response.json |
| 40 | author.why | Explain a staged claim’s standing: why it is certain / possible / dead, the blocker, and its repair. | author.why.request.json | author.why.response.json |
| 41 | author.findings | List the workspace’s open findings by severity — what materialize would refuse on, and how to fix each. | author.findings.request.json | author.findings.response.json |
| 42 | author.list_workspaces | List your open authoring workspaces and their digests, to recover context. | author.list_workspaces.request.json | author.list_workspaces.response.json |
| 43 | author.branch | Create a persistent branch, or list them — a divergent line of durable writes. | author.branch.request.json | author.branch.response.json |
| 44 | author.merge | Merge a named branch into the current one; returns the merge commit and a structural conflict report. | author.merge.request.json | author.merge.response.json |
| 45 | author.add_dialect | Declare a dialect register — the phonology and name grammar a naming population draws on. | author.add_dialect.request.json | author.add_dialect.response.json |
| 46 | author.add_name_part | Declare a name-part morpheme and its role, the raw material composed names are built from. | author.add_name_part.request.json | author.add_name_part.response.json |
| 47 | author.add_name | Compose a name from name-part morphemes and optionally bind it to the entity that bears it. | author.add_name.request.json | author.add_name.response.json |
| 48 | author.add_term | Introduce a glossary term — a word the lore defines and reuses. | author.add_term.request.json | author.add_term.response.json |
| 49 | author.add_banned | Ban a word from the lore surface, with the reason; the guardrail that refuses it later. | author.add_banned.request.json | author.add_banned.response.json |
| 50 | author.add_state | Assert a time-varying state on an entity (a fluent that holds over an interval, not forever). | author.add_state.request.json | author.add_state.response.json |
| 51 | author.add_attest | Request an attestation for an open question — the ledger entry a later sweep answers. | author.add_attest.request.json | author.add_attest.response.json |
| 52 | author.set_standing | Promote a provisional stored claim to ratified by citing a ratifying decision. | author.set_standing.request.json | author.set_standing.response.json |
| 53 | author.defeat | Defeat a stored claim with a decision while preserving its history and object. | author.defeat.request.json | author.defeat.response.json |
| 54 | author.declare_functional | Declare a predicate single-valued (a functional dependency), so two distinct certain values for one subject are a contradiction — even for a first-seen predicate canon has no precedent for. | author.declare_functional.request.json | author.declare_functional.response.json |
| 55 | author.assert_same_as | Assert two entity ids name the same bearer; the evaluable world merges them, the merge’s standing carried by this claim’s provenance. | author.assert_same_as.request.json | author.assert_same_as.response.json |
| 56 | author.add_rule | Declare one datalog derivation rule (a typed head :- body clause); every fact it derives carries this rule’s own provenance, defeasible like any other claim. | author.add_rule.request.json | author.add_rule.response.json |
| 57 | author.declare_inertial | Declare a predicate’s fluent values persistent (inertial): a value asserted since a point holds forward until a later, distinct, live value defeats it. | author.declare_inertial.request.json | author.declare_inertial.response.json |
| 58 | author.as_of | Project the inertially-current fluent value(s) at a query point: what holds, and why, including a silent transition’s derived boundary and defeater — the one inertia-aware read. | author.as_of.request.json | author.as_of.response.json |
| 59 | author.record_decision | Record a baseline ratified decision on the workspace branch so facts that cite it read certain — the wire way to reach certainty and make contradiction checks (fd-violation, fluent, inertia) fire, replacing the fixture-authority hack; defeasible by author.defeat. | author.record_decision.request.json | author.record_decision.response.json |
| 60 | author.predicates | List properties used in the staged world, with their arity and whether they are single-valued or inertial, so you can reuse an existing property name. | author.predicates.request.json | author.predicates.response.json |
| 61 | author.entity_candidates | Find declared characters, places, or other entities with ids close to a name, so you can reuse an existing id. | author.entity_candidates.request.json | author.entity_candidates.response.json |
| 62 | author.assert_predicate_same_as | Record that two property names refer to the same property in your fictional world; the claim can be defeated by a later ruling. | author.assert_predicate_same_as.request.json | author.assert_predicate_same_as.response.json |
| 63 | author.record_decisions | Atomically record many baseline supporting decisions on one workspace branch, validating the complete batch before one commit and one ref update. | author.record_decisions.request.json | author.record_decisions.response.json |