This is implemented via add_grafts/remove_grafts and serialize_grafts. The repo itself is not responsible for writing the graft file - this can be done via get_named_file and serialize_grafts.g