The onus lies with AC. Or rather the agent doing the ticketing!
AC would have received the message that CX sends to every airline CRS that makes bookings on its flights.
When AC issued the ticket, it *should* have sent an automatic message to CX advising them of the ticket number. Perhaps this time it didn't. Who knows, unless you have the entire AC PNR printed out, I might be able to tell you if they did or not. But in either case, the ticketing agent should have QC'd the PNR to check if SSR messages are received by other airlines' messages or not.
In any case, it is sometimes up to the passenger's responsibility to check up with respective airlines to make sure that they have ticket numbers etc on their record. Even AC is not without blame. When booking for their flights on other airlines' CRS systems, it also sends out a message that it requires ticket numbers.
Thankfully though majority of the other airlines' CRS do send an automatic message with ticket number when tickets are issued.