FEP-0837: Federated Marketplace

Updating the proposal: #318 - FEP-0837: Support donations - fediverse/fep - Codeberg.org

Following the discussion in another topic, arbitrary quantities has been allowed to support donations. I also added a sequence diagram (can be previewed at feps/0837/fep-0837.md at main - silverpill/feps - Codeberg.org).

Update: #620 - FEP-0837: Update proposal - fediverse/fep - Codeberg.org

I added a context file for FEP-888d, now we can do this:

"@context": [
  "https://www.w3.org/ns/activitystreams",
  "https://w3id.org/fep/0837"
]

Plus some purely editorial changes.

1 Like

@lynnfoster Is there a recommended property for indicating the “status” of an Agreement? Suppose it is completed in N stages:

  1. Agreement created
  2. Stage 1 completed.
  3. 

  4. Stage N completed.
  5. Exchange fully completed, agreement closed.

I’d like to send an activity every time a stage is completed. Preferably an Update:

{
  "type": "Update",
  "object": {
    "type": "Agreement",
    "stipulates": "..."
    "status": "Stage 2 completed"
  }
}

By the way: the link to rules definition is not working in https://www.valueflo.ws/specification/all_vf.html#Agreement

Thanks @silverpill !

There isn’t a status on Agreement. The thinking is you can derive the nuances of that by looking at the Commitments and fulfilling EconomicEvents, plus finished flags.

Are you thinking that will be useful while the Agreement is being negotiated, or while it is being fulfilled, or both?

And are you thinking free-form text?

Anyhow, if you would like a status, we can add it to the FEP, and see how it goes for people. Or even just add it to any app that wants it. We wouldn’t add it to VF without some actual use to test it out.

P.S. The rules link certainly is not working, thanks!

1 Like

I think it may be useful in both cases, but right now I am interested in providing progress indicators for the fulfillment phase.

I think it might also be a structured data, i.e. an object with multiple properties.

1 Like

Maybe it will be preview:

{
  "type": "Agreement",
  "preview": {
    "type": "Note",
    "name": "Stage 2 completed"
  }
}

Let’s think about what statuses might be useful.

What there is right now in VF:

  • While people are creating the Agreement, there isn’t really anything. In my experience, people create them basically all at once, so the Agreement and all Commitments. (like Alice transfer 1 used bike to Bob, Bob transfer $20 to Alice) You wouldn’t see just one of those commitments out there during this process (it’s a unit of work) - but there’s nothing saying it has to happen that way.
  • Once an EconomicEvent has been recorded as fulfilling a Commitment, then the Agreement is in progress.
  • When a Commitment is marked finished then nothing more is expected on that Commitment (although it doesn’t mean that the Commitment was completely fulfilled).
  • When all Commitments are marked finished then the Agreement is complete (again doesn’t mean everything was fulfilled as expected, but you can see what was fulfilled).

Sounds like you are thinking a user-defined status? I don’t have experience with preview but it sounds different. Would that persist as a status, or be more for an immediate display on a message? Or I could see where you might be going with something like a note update that you want to communicate, like “Almost ready to send, should be in the next couple days”. But maybe that is just the already proposed blend of social (AS) and economic (VF) communications?

Should we also think about more defined states that might be needed?

An exchange is rarely atomic, payments and deliveries often take time and may consist of multiple steps. These steps vary depending on the use case.

For now I just need a progress indication mechanism for my application (not for the FEP). preview is different but it’s close enough and I don’t want to introduce a new property.

1 Like

Ah you’re writing something, looking forward to that!

>An exchange is rarely atomic, payments and deliveries often take time and may consist of multiple steps. These steps vary depending on the use case.

Very true.

1 Like

Introducing minimumQuantity: #693 - FEP-0837: minimumQuantity - fediverse/fep - Codeberg.org

The “Implementations” section now includes Mitra (it’s not a new one, I implemented federated payments there at the same time this proposal was published).

1 Like