NUDelta / orchestration-engine

Scripts to guide situated actions, powered by programming constructs that model ways of working
0 stars 0 forks source link

revise issue data model to support project object tracking #27

Open kapil1garg opened 7 months ago

kapil1garg commented 7 months ago

Our data model for issues may need some revisions to work better for project objects

Here's the current data model:

script_id: which OS issue was created for (or which SOAP note),
name: { type: String, required: true },
date_triggered: when issue was created,
expiry_time: when issue should be archived,
repeat: whether it's a repetitive issue,
issue_target: who the issue is for,
target_hash: used to check if an existing issue is present (de-duping),
computed_strategies: [{
    opportunity: time to send message,
    outlet_fn: function that says where the feedback should go (list of people, project channel),
    outlet_args: args for people and message contetn to send via outlet_fn,
  },
]
}

To have issues carried throughout interactions, I think a couple pieces are needed:

  1. data: have a way to store follow-up converstaions that are made on the same Slack thread. I could also see this a list where a student or mentor could attach new things to (for example, an image of their LIP board)
  2. messageId: ID of the sent message, returned from the Slack API, so follow-up conversations can be tracked and stored
  3. resolved: boolean field that lets the user decide when an issue is resolve. I think this will be needed for persistent issues that a mentor wants awareness of in SOAP notes and gets built up over many interactions with the student (e.g, a metacognitive issue)
kapil1garg commented 7 months ago

hmm, also don't think there needs to be multiple computed strategies. easier to have just 1 issue with 1 strategy