Skip to content

urbit/UIPs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Urbit Improvement Proposals (UIPs)

The goals of the UIP project are to:

  • Make core development decision-making visible and open to entry.
  • Standardize and provide high-quality documentation for Urbit itself and conventions built upon it.

This repository tracks past and ongoing improvements to Urbit in the form of Urbit Improvement Proposals (UIPs). UIP-0001 governs how UIPs are published.

UIPs can be divided into the following categories:

  • Standards Track UIPs are improvements to Urbit that require a Kelvin version decrement to any of the following components: the machine code specification, Nock; the programming language and its standard library, Hoon; the kernel, kernel modules, its standard library, or the base distribution — Arvo, vanes, zuse or %base, respectively.
  • Informational UIPs describe an Urbit design issue, or provide general guidelines or information to the Urbit community, but do not propose new features. Informational UIPs do not necessarily represent an Urbit community consensus or recommendation, so users and implementors are free to ignore Informational UIPs or follow their advice.
  • Process UIPs describe a process surrounding Urbit, or proposes a change to (or an event in) a process. Process UIPs are like Standards Track UIPs but apply to areas other than Urbit itself. They may propose an implementation, but not to Urbit's codebase; they often require community consensus; unlike Informational UIPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Urbit development. Any meta-UIP is also considered a Process UIP.

UIP

Number Title Owner Status Type
0001 Purpose and Guidelines ~wolref-podlex Living Process
0100 Sticky Scry ~rovnys-ricfer Draft Standards
0101 %lick ~mopfel-winrux Final Standards
0102 Symmetric Routing ~rovnys-ricfer Withdrawn Standards
0103 Persistent Nock Caching ~rovnys-ricfer Last Call Standards
0104 Scry Store ~rovnys-ricfer Withdrawn Standards
0105 Drop Pokes to Dead Agents ~rovnys-ricfer Final Standards
0106 Scry over HTTP ~watter-parter Last Call Standards
0107 Auras Renovation ~ponmep-litsem Draft Standards
0108 %yard ~lagrev-nocfep Draft Standards
0109 Essential Desks ~wicdev-wisryt Last Call Standards
0110 Gall Agent Backups ~midden-fabler, ~mopfel-winrux Final Standards
0111 Desk Publisher Switcher ~tinnus-napbus Final Standards
0112 Informal Ping ~master-morzod, ~norsyr-torryn Final Standards
0113 %ames: Directed Messaging ~master-morzod Last Call Standards
0114 OTA Approval ~tinnus-napbus Final Standards
0115 Breadth-First Arvo ~wicdev-wicryt, ~rovnys-ricfer Last Call Standards
0116 Arvo Ticks ~wicdev-wicryt, ~rovnys-ricfer Last Call Standards
0117 Ulam: Self-Describing Nouns ~rovnys-ricfer Draft Standards
0118 Encrypted Remote Scry ~hastuc-dibtux Final Standards
0119 Pretty Printer Improvements ~sidnym-ladrut Draft Standards
0120 HTTP Streaming ~rovnys-ricfer Last Call Standards
0121 %pine Request at Latest ~rovnys-ricfer Draft Standards
0122 %wild: Stateless jet registration ~ritpub-sipsyl Last Call Standards
0123 %loop hint: reify infinite loops as crashes ~ritpub-sipsyl Last Call Standards
0124 Computation Timeout Hint ~lagrev-nocfep Last Call Standards
0125 %eyre/%iris Webssocket Support ~fidwed-sipwyn Draft Standards
0126 Pierport Protocol ~littul-pocdev Draft Process
0127 Lagoon IEEE 754 Reals ~lagrev-nocfep Draft Standards
0128 Monadic Scry Interface ~fodwyt-ragful, ~mastyr-bottec Draft Standards
0129 Typed Paths with Coin Encodings ~rovnys-ricfer Draft Standards

Background

Urbit has been in development for over a decade at time of writing, and until June of 2023 was developed without the use of this UIP process. New UIPs after UIP-0001 will begin their numbering at UIP-0100 to leave room for retroactive improvements that should have canonical documentation for reference.