Non-repudiation is the process of ensuring that the parties to a transaction cannot deny (this is repudiate) that a transaction occurred.
Repudiation is an assertion refuting a claim or the refusal to acknowledge an action or deed. Anticipatory repudiation (or anticipatory breach) describes a declaration by the promising party (as associated with a contract) that they intend to fail to meet their contractual obligations.
The issue is, non-repudiation does not exist. NO technical solution can exist, as a party can always say they lost keys or were under duress or something else.
Bitcoin transactions are not fungible through technical measures to create non-repudiation, they are fungible through law.
Fungibility comes when money is exchanged as consideration (and without knowledge of crime, etc.) with another for valid consideration.
Even a gift is not fungible.