I can provide the changes to the Aggregate.cps post processor to get the C-axis to be output with the initial move when an aggregate head is used. I did not do a deep dive into your sample output, so there may be other changes that need to be made to the post.
First, you need to add the following code. It can be placed just above onSection.
var abcFormat = createFormat({decimals:3, forceDecimal:true, scale:DEG});
var cOutput = createVariable({prefix:"C"}, abcFormat);
var pivotLength = 0;
function getWorkPlaneAngledHead() {
var W = currentSection.workPlane;
var side;
var zAxis = W.forward;
var abc = new Vector(0, 0, W.forward.getXYAngle());
if (isSameDirection(zAxis, new Vector(0, 0, 1))) {
side = "+Z";
} else if (isSameDirection(zAxis, new Vector(-1, 0, 0))) {
side = "-X";
} else if (isSameDirection(zAxis, new Vector(1, 0, 0))) {
side = "+X";
} else if (isSameDirection(zAxis, new Vector(0, -1, 0))) {
side = "-Y";
} else if (isSameDirection(zAxis, new Vector(0, 1, 0))) {
side = "+Y";
abc.setZ(toRad(90));
} else if (isPerpto(zAxis, new Vector(0, 0, 1))) {
side = "C" + abcFormat.format(abc.z);
}
if (side != "+Z") {
writeComment("Right angle head along " + side);
setTranslation(Vector.product(abc, pivotLength));
} else {
cancelTransformation();
}
var tcp = true;
if (tcp) {
setRotation(W); // TCP mode
} else {
var O = machineConfiguration.getOrientation(abc);
var R = machineConfiguration.getRemainingOrientation(abc, W);
setRotation(R);
}
return abc;
}
function isPerpto(a, b) {
return Math.abs(Vector.dot(a, b)) < (1e-7);
}
Next, delete the following code in onSection.
writeComment(" Work plane check : Forward is " + remaining.forward);
// DELETE THIS CODE
if (!isSameDirection(remaining.forward, new Vector(0, 0, -1)) &&
!isSameDirection(remaining.forward, new Vector(0, 0, 1)) &&
!isSameDirection(remaining.forward, new Vector(0, -1, 0)) &&
!isSameDirection(remaining.forward, new Vector(0, 1, 0)) &&
!isSameDirection(remaining.forward, new Vector(-1, 0, 0)) &&
!isSameDirection(remaining.forward, new Vector(1, 0, 0))) {
error(localize("Only XY, XZ and YZ planes allowed for tool orientation."));
return;
}
setRotation(remaining);
And replace it with this.
var abc = getWorkPlaneAngledHead();
Finally output the C-axis on the initial move.
if (!machineConfiguration.isHeadConfiguration()) {
writeBlock(
gAbsIncModal.format(90),
gMotionModal.format(0), xOutput.format(initialPosition.x), yOutput.format(initialPosition.y), cOutput.format(abc.z) // <<< ADD THE C OUTPUT
);
writeBlock(gMotionModal.format(0), zOutput.format(initialPosition.z));
} else {
writeBlock(
gAbsIncModal.format(90),
gMotionModal.format(0),
xOutput.format(initialPosition.x),
yOutput.format(initialPosition.y),
zOutput.format(initialPosition.z)
);
}
} else {
writeBlock(
gAbsIncModal.format(90),
gMotionModal.format(0),
xOutput.format(initialPosition.x),
yOutput.format(initialPosition.y),
cOutput.format(abc.z) // <<< ADD THE C OUTPUT
);
}

Bob Schultz
Sr. Post Processor Developer