informalsystems/themis-contract

Contracts should include a local copy of their template

Closed this issue · 2 comments

This is motivated by two intersecting dynamics:

  1. The person internal to an organization should have access to all contract templates and their entire history, but external parties signing a contract should not. So we cannot rely on all parties being able pull the template from the source repo.
  2. We will almost certainly need to support ad-hoc negotiations and changes (see #23) and such changes need insight into the template, but shouldn't be shared with all parties (even internal parties).

Towards implementation: The prepare subcommand proposed in #46 could be used to prepare a directory that includes

  • a copy of the template, along with a url+git ref to its source in space-time and a hash verify it's original contents
  • a partially filled config, ready for the other party to complete

Labeled as priority as this is requisite to satisfy the following major workflows:

  1. Edit contract lines and keep the edits recorded as a diff from the template in an accessible manner.
  2. Counterparty can easily comment on the contract or ask questions and Internal Ops to be able to easily respond.

Implemented as discussed on #23 (currently on branch prototype/v2, soon to be merged to master).