Notes and examples towards a language for declaring action chain patters so that actions can be authenticated and validated when they are posted to a weal card.

 

Arrows (->) indicate the next state of the weal

Action: new: Create an -> intention weal

   new :generative : Create a new intention with the ":generative" property which means that the intention is recreated for each request or offer as needed.  This way the same intention can be the parent of many weal cycles.

  destroy <weal> (only possible if it has no links) -> null

 

Actions for Weal Type: Intention:

  is_aligned: Declare as co-holder of this intention

  is_interested:  Declare that another intention or weal supports this intension, that it is wealth for us in the context of this intension.

  is_offered:  Declare value offered, requests that you are open to

  make_request: Enter negotiation -> <interested weal (self)> requests <contract> from <offered weal>

  make_proposal: Enter negotiation: -> <offering weal (self)> proposes <contract> to <interested weal>

  satisfied: Declare the intention -> completed

  cancel: Reverses a declaration of alignment

 

# self is the counter-party of the offer, the from side who has offered something that is requested now.

Actions for Weal Type: Request:

  promise <contractor> agrees to <contract> (Contract includes interested weal and details, must be able to contract to the terms, have capacity to perform and be authorized as <contractor> (user or circle)

  counter-offer (counter request with offer at different terms)

 

# self is the counter-party to the request.  Counter-offer and counter request will ping pong between

Actions for Weal Type: Offer:

  accept <contract> -> promise

  counter-request: (counter an offer with a request at different terms)

 

Actions for Weal Type: Promise:

  satisfied: Declare that <contract> terms are met, the weal action is complete -> satisfied

  modify_promise <new contract>: enter negotiation for new terms (change delivery date, costs, etc.)

  cancel: Declare that the promise will not be completed.  -> default

 

Actions for Weal Type: Satisfied/Default:

  acknowledge <value>: Declares the wealth created or destroyed -> complete

  nack: <why> Negative acknowledgement, declares non-acceptance of the completion declaration (satisfied vs. default) back to -> promise


I think the main differences from current FP work is they way intentions are handled. Eric says they already have the idea of :generative for intentions to stay around, so that isn't a real difference.

 

The way the idea of interested and offers that can link intentions into chains and as decompositions of smaller tasks and goals within overarching global intentions help by many.

 

The request/offer and promised actions following is from my experience with the Coordinator and I am confident in this design because of that experience. I don't think it is that different than FP weal transitions, but there are some details to work out.

  --Gerry.....Thu Oct 22 19:49:21 +0200 2009