Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@janmasrovira
Copy link
Collaborator

@janmasrovira janmasrovira commented Jul 16, 2025

This pr introduces Ecosystem.Labels, Ecosystems and Functions.

An ecosystem consists of:

  • A list of classes.
  • A list of functions. A function is a generalized method in the sense that it can consume multiple objects of potentially different classes within the ecosystem.
  • A list of intents (moved from Class).

Relevant changes:

  • Ecosystem.Label identifies and describes an ecosystem.
  • Ecosystem becomes the new entry point for the AVM layer. Before it was Class.

@janmasrovira janmasrovira self-assigned this Jul 16, 2025
@janmasrovira janmasrovira added the enhancement New feature or request label Jul 16, 2025
@janmasrovira janmasrovira force-pushed the ecosystem branch 4 times, most recently from 03ca34f to 4b9457b Compare July 18, 2025 07:45
commit 4b9457b
Author: Jan Mas Rovira <[email protected]>
Date:   Fri Jul 18 09:44:49 2025 +0200

    add keys

commit 0695dd3
Author: Jan Mas Rovira <[email protected]>
Date:   Fri Jul 18 08:00:17 2025 +0200

    action

commit 9c21534
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 22:01:49 2025 +0200

    Logic

commit c0c6d22
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 18:41:41 2025 +0200

    more refactors

commit bcaa410
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 17:30:49 2025 +0200

    refactor files

commit 5bb96be
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 15:47:59 2025 +0200

    adapt examples

commit 0e0cdf6
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 13:19:14 2025 +0200

    label for intents

commit eae64cf
Author: Jan Mas Rovira <[email protected]>
Date:   Thu Jul 17 10:06:38 2025 +0200

    logic checks

commit 7155377
Author: Jan Mas Rovira <[email protected]>
Date:   Wed Jul 16 22:32:16 2025 +0200

    move intents out

commit e0882f4
Author: Jan Mas Rovira <[email protected]>
Date:   Wed Jul 16 22:15:20 2025 +0200

    function logic

commit 2051950
Author: Jan Mas Rovira <[email protected]>
Date:   Wed Jul 16 14:37:26 2025 +0200

    more changes

commit 9e8ca17
Author: Jan Mas Rovira <[email protected]>
Date:   Tue Jul 15 19:14:04 2025 +0200

    ecosystem wip

commit 4d809d0
Author: Łukasz Czajka <[email protected]>
Date:   Wed Jul 16 15:47:23 2025 +0200

    Use the `label` field to store Intent.ResourceData (#44)

    - Closes #39

commit 3db1b8e
Author: Łukasz Czajka <[email protected]>
Date:   Wed Jul 16 06:42:20 2025 +0200

    Compliance units (#43)

    - Closes #10
    - The translation is modified to divide each action into compliance
    units. Dummy ephemeral resources with quantity 0 are added to satisfy
    the requirement that each compliance unit needs to have one consumed and
    one created resource.
    - The RLs are updated to filter out (ignore) the dummy resources.

    ---------

    Co-authored-by: Copilot <[email protected]>
@janmasrovira janmasrovira marked this pull request as ready for review July 18, 2025 16:26
@janmasrovira janmasrovira requested a review from lukaszcz July 21, 2025 08:02
match Function.parseObjectArgs args funId with
| none => pure none
| some (consumedObjects : funId.Selves) =>
let mconsumedList : Option (List SomeConsumedObject) :=
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my opinion, this lack of indenting for matches makes the code less readable

Copy link
Collaborator

@lukaszcz lukaszcz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should rethink allowed intent placement.

Copy link
Collaborator

@lukaszcz lukaszcz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should rethink allowed intent placement.

@lukaszcz
Copy link
Collaborator

We should rethink allowed intent placement.

We have to make a single RL for the whole ecosystem, which makes it more difficult to associate allowed intents with classes.

But we could check the class label of the consumed object, and check if the intent is allowed for it.

@janmasrovira
Copy link
Collaborator Author

I think it would make more sense to tackle the intent placement issue in a separate pr. If I put it back into Class.Label, we'll have to remove it when we fix #48 anyway

@lukaszcz
Copy link
Collaborator

I think it would make more sense to tackle the intent placement issue in a separate pr. If I put it back into Class.Label, we'll have to remove it when we fix #48 anyway

Okay, let's do it in a separate PR

@lukaszcz lukaszcz self-requested a review July 21, 2025 13:19
lukaszcz
lukaszcz previously approved these changes Jul 21, 2025
@lukaszcz
Copy link
Collaborator

  • Ecosystem.Label becomes the new label for a compiled resource.

That's not true. We still have Class.Label in the label field of a Resource, which makes sense because an object has a unique class.

@lukaszcz lukaszcz merged commit 142ffe8 into main Jul 21, 2025
2 checks passed
@lukaszcz lukaszcz deleted the ecosystem branch July 21, 2025 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants