---
tags: PM
---
# Mathematical Specification Work Log
## Current
### Improve Broker Staking Documentation
- It should be clear that broker stake is a virtual account and not the actual funds.
- Make it clear that funds is the actual physical funds denoted in DATA
- Add constraint that stake at stream k == stake at pool contract j
- Add a funds attribute to the stream for staking in the visualization to show they are getting funds.
### Bounty Agreements Address Question
- Original question: Bounty agreements can have “direct stakers” (brokers) and Broker agreements (pools of brokers?), Bounty can’t differentiate between them. Both transfer DATA token into the Bounty contract (or withdraws from there when leaving).
- It is best if the streams don't care
- There is a need to track ethereum contracts vs. nodes.
- There is a need to communicate who the node is who promised to do work
- Requirement to make sure you can't promise someone else's node
- What if someone uses two different addressses?
### Entity State
- Add in all permissible actions for actors
### Messages Clarification
- Drill home that messages is the way in which inputs + outputs are being described
### Tracking Stake
- Create explanations of how the staking is tracked within the system
- Currently an event gets thrown on staking and then the graph is indexing this
### Vocab Used
- Once the definitions are approved, change all locations where the wrong vocab is used
### Work Through Broker Leaving
- The flow for how a broker can leave is not yet defined
### Joining Modification
- Make it obvious that you can go through delegation without using the vault (no need to first transfer funds).
### Split Deposit Funds Mechanism
- In some cases the mechanism should increase pool value, in others it should not. This should be split out
### Github Integrations
- Check out github integrations for version control on the different documents
- Would possibly be very helpful to integrate with hackmd in the future
### Graphing Options
- Moving forward it would be good to have the graphing options not be PNGs but rather something native to hackmd
- https://hackmd.io/features?both
- Look at the UML/flow chart options
## In Progress
### Create Central Document Hub
- There will be quite a few supplements to the mathematical specification so it makes sense to have a central hub
- The hub should have links and explanations for the mathematical specification, meeting tracker, policy choices table, this document, and any other important pieces
### Example Scenarios
- Example scenarios either in the mathematical specification or as a supplement would be useful
- Who does what? Where does the money land?
- Create a straight forward every thing runs minimal use case to give the high level. As an entry to understanding
### Come to Consensus on Definitions
- The following definitions sheet was prepared to assure alignment between cadCAD, the math spec and the streamr team: https://hackmd.io/GkjRQGLMTPCg7laHXjfZPA
- TODO for streamr 1: Review all names/possible names and give feedback on preferred naming
- TODO for streamr 2: Decide whether there should be further definitions of the policy names, payload names, etc or those are not important to come to terminology on right now
### Scope out cadCAD vs. Spec Differences
- Go through and ensure matching
## Complete
### Complete State Section
- Need to complete updating of the state variables section
### Finish Mechanisms Section
- Need to update for all state variable updates