They now bring app.Manifest and app.Head in sync, and persist the state changes as well. roll_forward writes the Manifest to accomplish this, while roll_back reads the Manifest from disk.
In both cases the caller is responsible for making the actual code changes to app.Manifest and writing it out to disk. The methods only deal with the manifest file itself.
Still clear as mud, but hopefully slightly better.
LKUW6TVDJD66K2QFWWJF3URDGCNYAZ5VIGKIC6EMRDRX5ARICA2QC