hashgraph / guardian

The Guardian is an innovative open-source platform that streamlines the creation, management, and verification of digital environmental assets. It leverages a customizable Policy Workflow Engine and Web3 technology to ensure transparent and fraud-proof operations, making it a key tool for transforming sustainability practices and carbon markets.
Apache License 2.0
105 stars 133 forks source link

Distributed workflows for Guardian policy chain #2849

Open anvabr opened 1 year ago

anvabr commented 1 year ago

Problem description

2075 introduced the capability of linking independently executed policies (or modules) into a chain, the execution of each link in such chains can be automatically triggered by the previous link via publishing a document of the type which has been configured to be the 'source' for the link. This allows for the creation of the distributed policy chains, where 'execution' can be passed from one Guardian instance to another via publishing the corresponding artefacts.

However practical execution of most real-world Policies requires more powerful coordination features such as requests (approvals etc), events, and notifications which exists within a single policy instance but cannot be visible externally.

Requirements

Definition of done

Acceptance criteria

Real-world policies can be implemented/deployed as chains across multiple guardian instances and operated by users conveniently as if these were executed on the same instance.

MarcAntoineLebourgeois commented 4 months ago

I share the needs of Alex here. Between Straatos <> Evercity, we have a case in which each of use own a guardian instance. Ours is used for doing the proper collection and validation workflow of a policy, including third party like VVB. Evercity's one has a complementary module of the same policy adding a Carbon Forwards capacity. At current stage, the VVB validation could trigger a "data migration" towards the second instance but we lost the view/control of the workflow. Conceptually, the proposition of Alex could help us having one single workflow shares by two guardian instances, coming closer to the business perspective.