Skip to content

Rune ProtocolFour Sigils. Complete Grammar.

A reactive binding protocol β€” @ read Β· ~ sync Β· ! act Β· ? intent β€” that governs how values behave across any host, framework, or domain.

The Four Runes ​

@  read    β€” display a value from state         (state β†’ display, one-way)
~  sync    β€” two-way binding between input and state
!  act     β€” explicit trigger, user β†’ behavior
?  intent  β€” annotation, no runtime effect, read by humans and AI

No framework. No runtime dependency. Four characters, complete grammar.

In Practice ​

html
<field ~new-task placeholder="New task…" />
<button !add-task>Add</button>
<list @tasks><item @item.title /></list>
<screen ?"mobile task list, minimal, focus on speed">
csharp
[RuneState]
[RuneIntent("approved by risk committee Q1-2025")]
public decimal RiskThreshold { get; set; } = 0.15m;

[RuneComputed]
public IEnumerable<TaskItem> Pending => Tasks.Where(t => !t.Done);

[RuneAction("submit-order")]
[RuneIntent("explicit, logged to OMS, irrevocable")]
public async Task SubmitOrder(Guid orderId) { ... }
tsx
const pending                    = useRead<TaskItem[]>('pending')   // @
const [newTask, setNewTask]      = useSync<string>('new-task')      // ~
const addTask                    = useAct('add-task')                // !
useIntent('screen', 'mobile task list, focus on speed')             // ?
sql
-- @ read-only view
CREATE VIEW pending AS SELECT * FROM tasks WHERE done = false;

-- ~ mutable column
risk_threshold NUMERIC(5,4) DEFAULT 0.15  -- ?"approved by risk committee Q1-2025"

-- ! explicit action
CREATE FUNCTION act_submit_order(p_order_id UUID) RETURNS TEXT ...

Part of the Semantic Intent Ecosystem ​

Rune is the syntax layer beneath the semantic layer. Every project in the ecosystem has its own domain vocabulary β€” EMBER, Mere, Recall, Phoenix, Strata, Wake. Each answers what does this mean. Rune answers how does this value behave. Those are different questions at different levels β€” and Rune answers the second one, once, for all of them.

Mere invented it. Rune names it.


DOI: 10.5281/zenodo.20007883 Β· rune.semanticintent.dev Β· GitHub