Prototype Re Packaging Proposal - evomimic/map-proto1 GitHub Wiki

Motivation

We have had several months working with the current structure and have succeeded in getting a very simplistic end-to-end path working. We've also had numerous challenges along the way. As we prepare now to ramp up the functionality of the prototype, a re-packaging seems to be called for.

Proposal

  • Embrace a micro-services architecture -- manage each happ: dahn, visualizers, holons, descriptors in its own repository
  • Scaffold each repo from scratch... then copy relevant code from map-proto1 to the new repo
  • Drop the attempt at separating api from implementation within zomes. The many challenges of trying to work around the limitations of Rust traits have slowed progress. More importantly, this pattern doesn't seem to be followed by anyone else in the holochain community. In a micro-services architecture, we can still get this separation of API from implementation, but up one level. It's the (extern) API exposed through the conductor that is the API whose implementation is encapsulated.