meta on_change, factory/cache now has metadata, sg.json update