Hi Scott,
progress has been stagnant and people have a hard time adopting, never mind contributing. a few reasons come to mind:
1) i have failed to make the spec clear in what it covers and what it doesn't, making it hard for people to adopt or see what's there to adopt. Also we should untie the spec better from some of the implementations i did for the graphite stack, none of the graphite pieces belong in the metrics2.0 specification.
2) the model of a metric identified as nothing but a set of tags is too weird for many to swallow. it should be adjusted for tags to just augment some kind of identifier value (which could be a string, some people call it a key or 'name' property)
re your suggestion: device is quite generic and commonly also used for devices on a host (such as NIC, block device etc), so how do you tag the series that represents a given storage device on a particular host? with the current model this would be {host:my-server device=/dev/sda } with your suggestion it seems both device_name and device_type would need to occur twice (once to describe the server we're on, once to talk about the storage device on that server) which seems complicated to come up with a model for, as well as an implementation. or i guess we would only be allowed to use device_name and device_type for the "parent" device (server/switch/...) and any internal devices like blockdevices would get another tag like blockdevice=/sda or nic=eth0 etc which seems to defeat your goal.