@@ -5,7 +5,6 @@ title: Toward a new %clay
55author: Curtis Yarvin
66preview: Toward a new %clay
77layout: urbit,post
8−comments: false
98navmode: navbar
109navdpad: false
1110navselect: blog
@@ -78,7 +77,7 @@ There are six big questions in the design of a DVCS:
7877## Anatomy of %clay
7978
8079A good way to summarize `%clay` (at present) is that its answers
81−to the first four questions are interesting, and its answers to
80+to the first four questions are interesting, and its answers to
8281the last two are boring. We'll talk about all six, though.
8382
8483### Global namespace: [ship desk case]
@@ -295,7 +294,7 @@ data, `%y` for a list of children, `%z` for the whole arch
295294subtree, `%w` for the version number. (Each vane has its own
296295modes.)
297296
298−For example, the full path to my cat picture is
297+For example, the full path to my cat picture is
299298
300299```
301300/cx/~sorreg-namtyv/home/[now]/my/cat/picture
@@ -349,10 +348,10 @@ all the data the server has available right now; updates will
349348follow when they become available; the subscription will be
350349closed when the request range is complete.
351350
352−#### Userspace synchronization
351+#### Userspace synchronization
353352
354353Synchronization per se is done in userspace. In `%clay`, sync just
355−means an application (typically the `%kiln` module in the system
354+means an application (typically the `%kiln` module in the system
356355app `:hood`) subscribes to a remote desk, and saves its change
357356stream locally. So sync is really an emergent feature of `%clay`.
358357
@@ -546,13 +545,13 @@ is the hash that this reference refers to.
546545
547546### Change #2: unconfuse merge and rebase
548547
549−The dispute between merge and rebase has all the bad smells of
548+The dispute between merge and rebase has all the bad smells of
550549a historical wart. But here I'm just not sure what's right.
551550
552551The user has one *intent* whether merging or rebasing, which is
553552to combine changes on one desk into another. The *algorithm*
554553used to construct this change, whether operational transformation
555−(rebasing) or a 3-way diff (merging) has one goal: use all
554+(rebasing) or a 3-way diff (merging) has one goal: use all
556555available information to model the authors' editing intent as
557556realistically as possible. If we save edges, we should use
558557edges.
@@ -648,7 +647,7 @@ or a dependency of the mark source (slightly less unlikely).
648647And if so, do we have to update all the leaves in the dome?
649648This is also very unlikely. And yet, it happens.
650649
651−Instead, we could simply designate, by beak (ship, desk, and
650+Instead, we could simply designate, by beak (ship, desk, and
652651case) a dome which contains the canonical mark source. This
653652would rarely change -- you could upgrade a desk to a new mark
654653dome, but it would be a manual operation and probably a rare one.
@@ -671,7 +670,7 @@ So we added an app hierarchy within the mark namespace, using hep
671670`talk-message`, whose sources is in `/===/mar/talk/message`.
672671
673672This helps, but it doesn't solve another two problems: trivial
674−nouns and containers.
673+nouns and containers.
675674
676675It's retarded to have to add a source file to send a `@ud` or a
677676`*`. An aura (see above under `coin`) should be a trivial mark.
@@ -687,7 +686,7 @@ difference, and invalid marks.
687686
688687Conflict data and difference data are two types of noun that are
689688generated in normal RCS operation. If we have the concept of an
690−`%html` noun, we also need the concept of an invertible change
689+`%html` noun, we also need the concept of an invertible change
691690from one `%html` file to another; a merge conflict between two
692691`%html` files; and even a conflict between two marks.
693692
@@ -706,7 +705,7 @@ is a merge that produces conflicts, the next is an edit that
706705resolves them.
707706
708707Similarly, all sorts of errors can produce invalid leaves. One
709−particularly rare case which is nonetheless important is schema
708+particularly rare case which is nonetheless important is schema
710709evolution: what happens to files in a mark, when the mark source
711710code changes. They all need to be re-normalized. And this
712711operation can fail, producing an invalid value. (We don't do any
@@ -928,8 +927,8 @@ contents into Urbit, you should be able to control a mounted
928927`%clay` desk through Unix filesystem operations alone.
929928
930929No Urbit command-line access, not even any `urb/` HTTP control
931−channels, should be required for the user to generate `%clay` data
932−through filesystem mount, or to set up the mount.
930+channels, should be required for the user to generate `%clay` data
931+through filesystem mount, or to set up the mount.
933932
934933An RCS experience that works entirely through Unix tools, in
935934which the only connection between content creation tools and