Use of ractive.set('foo') where foo is a parent data value and foo is not used in the template or passed in explicitly won't work. But if you put {{#foo}}{{/}} in the template, ractive knows about it and subsequent set or get operations work.
Probably we could make them (get and set) smarter, but I finally got my head around this and it's worth documenting.