Maybe hierarchical RFC names/aliases could look like: RFC.foo.bar.baz Versioned names would look like: RFC.foo-0.bar-1.baz-3 Versions could be left off on the least significant elements: RFC.foo-0.bar-1.baz (OK) RFC.foo-0.bar.baz (OK) RFC.foo-0.bar.baz-3 (NOT OK) RFC.foo.bar.baz (OK) Update != version change. Obsolescence == version change. Versioning should mostly be for each named component independent of the rest. Publishing a foo-1 that doesn't subsume/obsolete the others would lead to RFC.foo-1.bar-1 RFC.foo-1.bar-1.baz-3 being new aliases for the old RFC.foo-0.bar-1 and RFC.foo-0.bar-1.baz-3 RFCs. Which means: RFCs could have multiple names. Nico --