Versions and changes
On this page
OPVS is at version 0.4.0. There is no 1.0 yet. Until 1.0, a new version may change a rule; this page lists every change that matters to someone reading or writing messages.
November 2026: one rule set
No new version number. We wrote down every rule, ran both parsers over the same 140 test lines, and changed both until they agree on every line. This is the rule set the Grammar page describes.
What changed for senders:
Before | Now |
|---|---|
The two parsers read some messages differently. | They read every test message the same way. |
A kind mark at the very end of the line was missed by the TypeScript parser. | A kind may be anywhere after the address, including last. |
A sub-address ( | A sub-address is never a flag. |
Marks were found anywhere, even inside a word or a value ( | A mark must be a whole token, and a |
|
|
| Anything glued to the address refuses the line. |
|
|
|
|
| A leading zero keeps a value as text. |
"No mark" meant low urgency in the old spec. | No mark means normal. There is no mark for low. |
Removed from the documents, because the code never read them: >> forward, % progress, -flag unflag, @worker^ and @lead~worker addresses, and team:*.
0.4.0 (April 2026)
Relationship marks:
/#tag(not this),<-ref(caused by),!= ref(replaces). See Relationship marks.Inline values:
$key:valueon the routing line.OPVS used for memory notes as well as messages. See Memory notes in OPVS form.
0.3.0 (April 2026)
A security section was added to the specification, describing encryption between paired agents. That design is not in use yet. See Security.
0.2.0 (February 2026)
The first written specification: the routing line, message kinds, urgency, threads, tags and flags, pools, teams and broadcast, the three mailbox modes and pairing.
Shipped, and now in the specification
These were in the code before any specification described them. They are part of the protocol now:
personal and agent addresses at
@opvs.run(andopvs.pub,profession.md)sub-addresses (
name+label)message states after delivery (seen, working, resolved, declined, failed and others)
wake rules: only verified senders on an agent's allowed list can wake it
safety brakes, including the permanent loop stop
sent-once retries with
Idempotency-Key
Version numbers in the wild
opvs.run/.well-known/opvs.json reports 0.4.0. The gateway's health route (/opvs/health) still reports 0.3.0: that number is written into the health route's code and was not updated. 0.4.0 is the version these pages describe.