How to update steam achievement progress?

I’m completely stumped. I followed the code chain starting from IOnlineAchievementsPtr::WriteAchievements all the way to Steam’s SDK header file. WriteAchievements queues a FOnlineAsyncTaskSteamWriteAchievements. This task takes in a WriteObject but never actually does anything with it. It Ticks with a parent method and doesn’t do any writing. It then calls OnWriteAchievementComplete which I think is the offender. Starting at OnlineAchievementsInterfaceSteam.cpp:110 it seems to treat all submissions as “unlocked” without any regard for the actual stat progress.

for (FStatPropertyArray::TConstIterator It(WriteObject->Properties); It; ++It)
{
	const FString AchievementId = It.Key().ToString();
	for (int32 AchIdx = 0; AchIdx < AchNum; ++AchIdx)
	{
		if ((*PlayerAch)[ AchIdx ].Id == AchievementId)
		{
			// Update and trigger the callback
			(*PlayerAch)[ AchIdx ].Progress = 100.0;
			TriggerOnAchievementUnlockedDelegates(PlayerId, (*PlayerAch)[ AchIdx ].Id);
			break;
		}
	}
}

Has anybody that has actually used Steam’s achievement system gotten an achievement progress submission to work? It seems to be black and white with it is either unlocked or it isn’t.