Google Summer of Code 2023 - accordproject/techdocs GitHub Wiki

Accord Project: Google Summer of Code 2023 Ideas List

The standard timeline accounts for 12 week coding projects. Mentors and GSoC Contributors can agree to extend the coding period up to 22 weeks.

Agreement Protocol & Agreement Server

The idea behind the Accord Project Agreement Protocol (APAP) is to standardize the protocol for how such servers and agreement tools communicate. This way, a single Agreement Server can be re-used in multiple agreement tools, which in turn can support multiple templates with minimal effort.

Rust / WASM - Ergo Replacement

As part of our Ergo Replacement project, the intention is to replace the logic component of Accord Project smart legal agreements (currently written in Ergo) with other mainstream languages.

We are looking to use Rust/WASM as one of these replacement mainstream language options.

The Rust/WASM replacement logic would be integrated into the Accord Agreement Template or Instance via the Accord Server.

The Accord Server (being a JS/TS-based system) would integrate with the Rust/WASM logic using wasm-bindgen or similar.

Ultimately, the aim is to have a compiled WASM binary integrated into the smart legal agreement as the logic. Therefore, potentially, any language that compiles into WASM - other than Rust - could be considered.

Other requirements to consider will be the integration of the Model (CTO) and Grammar (TemplateMark/CiceroMark) with the Rust (WASM) binary.

Options for CTO and TemplateMark / CiceroMark integrations include using Rust Macros! and/or adding a Rust code generator to the existing Concerto and Cicero libraries (developed in JS/TS).

NLP & Generative models

nvestigate the application of recent advances in Generative NLP Large Language Models to generate Concerto Models and executable clause implementations. There is an opportunity to extend existing work using BERT Transformers from https://github.com/accordproject/labs-cicero-classify

DLT Integrations

Integrating with Avalanche, AWS DLT, or other blockchain solutions

Business tools Integrations

Integrating with business solution systems (like Stripe) and creating Concerto models that can be plugged into those systems

Support for Union Types in Concerto Schema Language

Extend the modelling language to support discriminated unions as a primitive type, e.g.

concept Agreement {
  o Individual | Company seller
}

GitHub Issue

Numeric Type improvements in Concerto Schema Language

Extend the modelling language to support BigInts, Decimals, and proper treatment of Integers, Longs and Doubles.

GitHub Issue