The collaborative link is a significant innovation in hypertext thinking. It provides a mechanism for texts to find each other which is engineered from a social perspective rather than a technical or media perspective. Your link finds pages that make contextual sense, rather than a simple fixed reference which takes you to the same place regardless of context.
In philosophical terms we are talking about a link as a family resemblance. We do not point directly to a page, rather we point indirectly to a named phrase acting as a rough proxy to a concept or idea. Depending on the context, cod will return a different page.
In this way the same link to to the concept Drone, will return different results depending on the location and context of source. It may link to an original page about autonomous unmanned flying machines, or to a musical tone. To the original source or to my local interpretation of it's meaning in the context that I write on in a particular site.
The link logic is wired into the software. It is implemented in Javascript in the browser. The question here is whether this should be a standardised hard link or a soft link.
# User Defined Link Logic
What if we could define our own link logic? We could then extend the context dependent nature of the collaborative link in hitherto unforeseen ways. On my site I may define a link logic which traverses sitemaps looking for a meaning that I define in code. Perhaps I want links to first land on a context page, that shows a graph of conceptual context and a summary of the linked to page, or perhaps I want to prefer links to pages which include scientific or engineering references and descriptions, over those that are opinion or draft thoughts.
If I have the ability to craft my own link logic, I can begin to define new forms of contextual logic. I already look to create associations that use argument maps to facilitate thoughtful and meaningful discussion. What other ways may we seek to extend the contextual or semantic nature of the humble hypertext link?
# How
This solution to implementing this functionality is simple. Define the collaborative link in int's own npm package. An author cna then simply replace this package on their server with code they prefer or author.