SignalQL-Command — notes (non-normative)
Non-normative. Not part of SignalQL v0.5. Nothing on this page is specified or implemented. It records where write semantics are expected to go so that v0.5's read model does not accidentally foreclose them. Every statement here may change.
Why writes are separate
SignalQL retrieves and shapes evidence. Keeping it read-only makes every query safe to run, cacheable, and reproducible, and lets a deployment grant read access without reasoning about side effects. v0.3 already named the alternative: a sibling protocol that reuses the same catalog, provenance, and permission discipline.
SignalQL → read / query / resolve / context / trace
SignalQL-Command → create / derive / revise / relate / tombstone / commitThe v0.5 parser enforces the boundary: a statement that begins with a write verb is rejected with an error that names SignalQL-Command.
What v0.5 leaves ready
The read model was shaped so that each write has an obvious, append-only meaning:
| Possible command | What it would append | v0.5 read surface it feeds |
|---|---|---|
| create an object | an objects row and revision 1 | GET OBJECT |
| revise an object | a new revision; identity unchanged | SHOW REVISIONS, AS OF, @rev |
| add a representation | a representation of one revision | SHOW REPRESENTATIONS |
| record a derivation | a link pinned to the source revision read | TRACE OBJECT, dependency state |
| relate | a graph edge between objects and entities | v0.4 graph operators |
| tombstone | a tombstone time; nothing is erased | dependency state invalid |
| record a context use | a link from a model run to a context:// address | reproducibility |
Because v0.5 treats revisions as immutable and derivations as pinned, none of these needs in-place mutation.
Open questions
- Derivation execution. v0.5 can say which knowledge is stale. Recomputing it — and deciding who is allowed to — is a command and a policy question.
- Trust changes. v0.5 trust is per revision and not bitemporal. A write protocol will need to say whether verifying a revision creates history.
- Transactions and workspaces. Agents that produce several related objects need atomic commits and isolated branches.
- Subscriptions. "Tell me when something I derived from changes" is the push form of
FIND DEPENDENTS. - Context persistence. v0.5 treats the context store as a runtime cache. A write protocol may make recording a bundle an explicit, auditable act.
Roadmap context
v0.4 — Operational Graph
v0.5 — Information Objects ← this release
v0.6 — Agent Operations SignalQL-Command, workspaces, transactions,
lifecycle, subscriptions, stale recomputation
v0.7+ — AI Information Substrate distributed storage, federation,
context optimization, execution locality
v1.0 — stable AI-native information languageThis sequence is a direction, not a commitment.