Meeting Title: ABC Spike Review Date: 2026-02-03 Meeting participants: Mustafa’s Loom Notetaker, Mustafa Raja, Samuel Roberts, Casie Aviles


WEBVTT

1 00:01:33.100 00:01:33.970 Samuel Roberts: Hey.

2 00:01:34.870 00:01:35.680 Mustafa Raja: Hmm…

3 00:01:37.750 00:01:38.559 Samuel Roberts: How’s it going?

4 00:01:39.630 00:01:41.320 Mustafa Raja: Good, how are you?

5 00:01:45.750 00:01:58.419 Mustafa Raja: Okay, so… for this one… Yeah. I think Casey implemented this, what’s it called? This entry point now? So we now have the entry point. I haven’t taken a look at the code yet.

6 00:01:59.080 00:02:11.899 Mustafa Raja: I want to see if Casey has attached this chat with the workflow, or with an agent, you know? I don’t know that, so I’ll go ahead and take a look at that.

7 00:02:12.590 00:02:16.359 Mustafa Raja: And this is where I will be modifying

8 00:02:16.570 00:02:25.099 Mustafa Raja: the code where we will be grabbing the output from, what’s it called? Workflow, and then calculating the latency or errors, you know?

9 00:02:25.910 00:02:29.729 Mustafa Raja: And then we could fire… from here, we could fire…

10 00:02:29.920 00:02:34.880 Mustafa Raja: more APIs to send alerts, if that makes sense.

11 00:02:35.500 00:02:38.870 Samuel Roberts: Yes, I think it… can you scroll down to that? Alright, I haven’t got some.

12 00:02:39.600 00:02:40.280 Mustafa Raja: Charlie?

13 00:02:40.520 00:02:42.189 Samuel Roberts: Just scroll down a little bit.

14 00:02:42.190 00:02:43.399 Mustafa Raja: Oh, yeah, yeah, I can.

15 00:02:43.400 00:02:54.250 Samuel Roberts: So, there’s… that… that first one is… there’s… that first one is the endpoint, this one is the function. So that’s going in… where is that code gonna run? Is this in…

16 00:02:54.250 00:02:58.540 Mustafa Raja: Oh, yeah, so it’s going to be the same endpoint, yeah. Yeah, see?

17 00:02:59.100 00:03:01.000 Samuel Roberts: I see, okay, I got you, okay.

18 00:03:01.550 00:03:03.910 Samuel Roberts: And then, I’m thinking…

19 00:03:05.250 00:03:06.389 Mustafa Raja: Let me, yeah, no, I think that.

20 00:03:06.390 00:03:07.149 Samuel Roberts: Makes sense.

21 00:03:07.590 00:03:09.940 Samuel Roberts: I just wonder how we set that threshold, you know?

22 00:03:10.970 00:03:15.369 Mustafa Raja: Oh, we can calculate, so for this threshold, the latency threshold, right?

23 00:03:15.710 00:03:16.310 Samuel Roberts: Yeah.

24 00:03:16.950 00:03:22.919 Mustafa Raja: Yeah, so, I mean, we can decide, what’s a good time, what’s a good response time, you know?

25 00:03:22.920 00:03:24.610 Samuel Roberts: Where is that.

26 00:03:27.270 00:03:29.350 Mustafa Raja: It’s going to live here, in this function, no?

27 00:03:29.520 00:03:31.979 Samuel Roberts: The setting? Like, the specific number? Yeah.

28 00:03:32.260 00:03:42.820 Mustafa Raja: Yeah, yeah, we could set… we could set a specific number. If it’s… if a response is coming under 15 seconds, it’s good. If it’s taking more than 15 seconds, we should flag it to someone, you know?

29 00:03:43.280 00:03:43.950 Samuel Roberts: No.

30 00:03:44.110 00:03:45.530 Samuel Roberts: Here’s a question.

31 00:03:46.080 00:03:51.089 Samuel Roberts: I don’t want to, like, undo this work here necessarily, but we’re going to be logging all this to a database, right?

32 00:03:51.830 00:03:52.640 Mustafa Raja: Yes.

33 00:03:54.700 00:03:58.079 Samuel Roberts: Are we… and we’re gonna be logging execution time and stuff too, correct?

34 00:03:59.970 00:04:05.630 Mustafa Raja: I mean, it’s going to be in JSON, so it’s not going to be perfectly formatted, we’ll have to extract it from the database.

35 00:04:06.620 00:04:09.910 Samuel Roberts: Mmm, I see what you’re saying. So we wouldn’t get it immediately.

36 00:04:10.560 00:04:17.540 Mustafa Raja: Yeah, we will… And this would be something… yeah, and that’s what my initial suggestion was.

37 00:04:17.820 00:04:18.390 Samuel Roberts: Yeah.

38 00:04:18.399 00:04:28.419 Mustafa Raja: put this in the Postgres, but it’s going to be, what’s it called? In a workflow format, and for each step, you’ll have to add whatever the time it took.

39 00:04:29.109 00:04:42.359 Mustafa Raja: whatever time the step took, and then once we have all that, which we would need to calculate via a Postgres function, we could, you know, trigger something, but that’s… that’s going to add up in commute.

40 00:04:42.360 00:04:47.059 Samuel Roberts: Yeah, I think we’re still gonna wanna do that in terms of analysis of, like, you know.

41 00:04:48.080 00:04:49.599 Samuel Roberts: percentiles and stuff.

42 00:04:49.780 00:04:52.649 Samuel Roberts: This is good, I get this now, okay, I understand.

43 00:04:52.870 00:05:04.340 Mustafa Raja: Yeah, so there’s going to be two parts to it, right? One is going to be a Postgres database in Cloud Run, right? And then we would have a BigQuery, a warehouse, right?

44 00:05:05.760 00:05:06.490 Samuel Roberts: Right.

45 00:05:07.010 00:05:11.290 Mustafa Raja: And BigQuery Warehouse, is going to have all of the clean data, right?

46 00:05:11.290 00:05:12.490 Samuel Roberts: Yes, yes.

47 00:05:12.900 00:05:14.150 Mustafa Raja: Okay, yeah. That’s fine.

48 00:05:14.150 00:05:16.820 Samuel Roberts: But this is something that’ll just trigger if we have ones that are going…

49 00:05:17.230 00:05:29.829 Mustafa Raja: Yeah, yeah, we could grab whatever response we would be getting from, what’s it called, the workflow, calculate the latency, and in the background, we could calculate the latency and see

50 00:05:30.490 00:05:40.890 Mustafa Raja: You know, if this needs to be, edited in Slack or not. And that could happen in the background, we don’t have to await that. Once we get this, we could return this to…

51 00:05:41.010 00:05:43.620 Mustafa Raja: Google Chat and work with our latency stuff.

52 00:05:44.350 00:05:46.080 Samuel Roberts: Yeah, I think that makes sense. Like, don’t…

53 00:05:46.080 00:05:46.540 Mustafa Raja: Yes.

54 00:05:46.540 00:05:48.110 Samuel Roberts: Okay.

55 00:05:48.110 00:05:57.310 Mustafa Raja: Yeah, yeah. Yeah, so Casey’s here. Casey, would you know if you connected this chat with…

56 00:05:58.030 00:06:03.160 Mustafa Raja: With the workflow, some, some agent.

57 00:06:05.140 00:06:09.079 Casie Aviles: You mean the chat handler that you have here on the screen?

58 00:06:09.660 00:06:14.840 Mustafa Raja: Yeah, yeah, this specific endpoint would be… The one, right?

59 00:06:16.330 00:06:19.250 Casie Aviles: Yeah, that’s the send webhook, so…

60 00:06:19.710 00:06:23.260 Casie Aviles: So yeah, right now,

61 00:06:23.590 00:06:26.520 Casie Aviles: The chat handler is on the dev.

62 00:06:27.090 00:06:29.219 Casie Aviles: So, we can play around with that.

63 00:06:29.560 00:06:31.250 Mustafa Raja: Okay, I’ll take a look at that.

64 00:06:31.820 00:06:34.510 Casie Aviles: And then, I just made some changes.

65 00:06:34.730 00:06:39.099 Casie Aviles: From our, from the last version, since

66 00:06:39.390 00:06:43.450 Casie Aviles: It looks like there were some updates with how the payload

67 00:06:43.830 00:06:47.790 Casie Aviles: You know, with how we should be handling the payload, so I think…

68 00:06:49.060 00:06:52.070 Casie Aviles: Okay. I made some changes there.

69 00:06:52.640 00:06:57.609 Mustafa Raja: Okay. And we’re working in, the Migration Progress branch branch, right?

70 00:06:58.310 00:07:00.929 Casie Aviles: Yes, yes, that should be, switched over now.

71 00:07:01.690 00:07:02.590 Mustafa Raja: Where?

72 00:07:03.660 00:07:04.589 Casie Aviles: Oh, I mean, I mean…

73 00:07:04.590 00:07:06.910 Mustafa Raja: Oh, yeah, okay, okay, yeah, I understand, I understand.

74 00:07:06.960 00:07:07.930 Casie Aviles: Okay, okay.

75 00:07:07.930 00:07:11.249 Mustafa Raja: Okay, so I’ll go ahead and take a look at that.

76 00:07:11.390 00:07:16.180 Mustafa Raja: And I’ll make sure that, you know, this is pointing to the workflow that we need.

77 00:07:16.560 00:07:20.999 Mustafa Raja: Yeah, this is pretty good. Okay, do we have any other questions with this?

78 00:07:25.300 00:07:25.990 Samuel Roberts: Go ahead.

79 00:07:26.350 00:07:34.729 Casie Aviles: Yeah, I might have missed it, but we’re just, get, like, compute, or calculating the, what do you call this, the latency…

80 00:07:35.090 00:07:37.540 Casie Aviles: Using this function, right? Basically.

81 00:07:37.540 00:07:52.300 Mustafa Raja: Yes. Once we get the response from our workflow here, we’ll have an async function that we are not going to await for, that’s going to handle all the latency and error alerts.

82 00:07:53.680 00:07:54.770 Casie Aviles: Okay, okay.

83 00:07:55.300 00:08:01.110 Samuel Roberts: Yeah, and then I think the only thing is just, yeah, what, like, just a variable for that number.

84 00:08:01.600 00:08:05.279 Samuel Roberts: I’m just wondering if there’s a better way to set that, but probably not for now.

85 00:08:05.470 00:08:06.210 Samuel Roberts: They will decide.

86 00:08:06.210 00:08:19.850 Mustafa Raja: Yeah, I guess, I guess we could have multiple different, what’s it called, response times based on which agent was called, you know? So if it’s coming from DB, what should be, you know…

87 00:08:19.850 00:08:22.690 Samuel Roberts: Maybe, but I mean, to the end user, it shouldn’t matter, you know?

88 00:08:22.850 00:08:24.110 Samuel Roberts: We want to get them all down.

89 00:08:24.910 00:08:26.740 Mustafa Raja: Yeah, yeah. Okay.

90 00:08:27.020 00:08:32.830 Mustafa Raja: Okay, I guess then we need to, you know, decide what’s going to be a good latency, or what’s going…

91 00:08:32.830 00:08:37.060 Samuel Roberts: That’ll be also from our testing with this, so we might want to just,

92 00:08:39.820 00:08:42.590 Samuel Roberts: We’re not logging any of this test data yet, though, right?

93 00:08:43.440 00:08:50.880 Mustafa Raja: We should have what’s called an SQLite database within… within our build.

94 00:08:51.310 00:08:52.410 Mustafa Raja: But I don’t…

95 00:08:52.410 00:08:52.870 Samuel Roberts: Tink.

96 00:08:52.870 00:08:55.309 Mustafa Raja: We could get that out.

97 00:08:58.390 00:09:01.549 Samuel Roberts: Okay. Yeah, I think that’s the only thing I was thinking in terms of, like.

98 00:09:01.700 00:09:05.820 Samuel Roberts: How we’ll learn what threshold to put in, and build towards that.

99 00:09:05.950 00:09:07.320 Samuel Roberts: in our testing

100 00:09:07.560 00:09:12.659 Samuel Roberts: Which might not be that, you know, big a deal, because we can just tweak it later.

101 00:09:12.850 00:09:16.869 Samuel Roberts: But, like, what times are we seeing right now for this? Do we know?

102 00:09:18.870 00:09:25.109 Mustafa Raja: I mean, if I test it locally, that’s going to be limited to my internal life.

103 00:09:25.360 00:09:26.070 Samuel Roberts: Sure.

104 00:09:26.980 00:09:35.299 Mustafa Raja: What we could do is, right after this, I could, you know, query the database.

105 00:09:37.070 00:09:41.250 Samuel Roberts: Yes, that’s what we’ll do. That’s what we’ll do. Make this function for now.

106 00:09:41.660 00:09:51.150 Samuel Roberts: Not only check a threshold and send that, but maybe save it to just, like, a… a Supabase table.

107 00:09:53.340 00:09:54.850 Mustafa Raja: Hmm. Okay.

108 00:09:55.080 00:09:59.650 Samuel Roberts: Just so we have a record of, like, times and stuff? I don’t know, no, we’re… it seems, like, redundant, doesn’t it?

109 00:10:00.710 00:10:09.399 Mustafa Raja: Yeah, I mean, if we… if we can… if we can just, you know, work this, note this, work this out, it’s going to solve it.

110 00:10:09.400 00:10:11.260 Samuel Roberts: Yeah, I think that’s probably what we need to do.

111 00:10:13.560 00:10:26.109 Mustafa Raja: Yeah, so… need these two roles based on this document. So this is the… this is the other spike that I’ve found, so… Yes, yes. Where are the roles? It’s just here…

112 00:10:26.290 00:10:29.890 Mustafa Raja: Let me, let me… Yeah.

113 00:10:30.540 00:10:35.429 Mustafa Raja: Yeah, so… so they say that we need to make sure that we have these two roles.

114 00:10:35.690 00:10:41.429 Mustafa Raja: Okay. And then we should be able to, you know, create instances.

115 00:10:41.610 00:10:42.780 Mustafa Raja: So…

116 00:10:43.700 00:10:52.079 Mustafa Raja: And this document also has, you know, bite-sized steps to go ahead and how to create the instances also.

117 00:10:52.390 00:10:55.969 Mustafa Raja: So yeah, I just need to, I guess, just need to email,

118 00:10:56.490 00:11:04.500 Mustafa Raja: Tim, and what do you think about this pricing? Should we mention it, or how should we take on that?

119 00:11:05.220 00:11:08.320 Samuel Roberts: Who is technically the CSO on this?

120 00:11:10.850 00:11:11.329 Mustafa Raja: I think it’s…

121 00:11:11.330 00:11:12.390 Casie Aviles: I think it would.

122 00:11:12.390 00:11:14.580 Samuel Roberts: It’s to… it’s who Tom… okay, I wasn’t sure if he was…

123 00:11:15.220 00:11:22.599 Samuel Roberts: Still CSO on this one. Yeah, I would say, let’s surface this into the channel and tag Utum and Amber.

124 00:11:23.170 00:11:23.860 Mustafa Raja: Hmm.

125 00:11:24.100 00:11:29.600 Samuel Roberts: Or, like, tag Uten, maybe CC Amber, just to see, like, I don’t know what the…

126 00:11:30.510 00:11:35.659 Samuel Roberts: client knows yet about the pricing, and I don’t want to just drop that on Tim if we haven’t already, like…

127 00:11:36.190 00:11:38.979 Casie Aviles: Or maybe they’re okay with just dropping on Tim. I’m not sure, I don’t…

128 00:11:39.080 00:11:45.109 Samuel Roberts: I don’t know exactly what the best… Way to handle that is… So I would…

129 00:11:45.110 00:11:45.470 Casie Aviles: Yeah.

130 00:11:45.470 00:11:48.470 Samuel Roberts: I can post that, just the linear ticket, maybe.

131 00:11:48.740 00:11:49.379 Samuel Roberts: And I’ll tag you.

132 00:11:49.380 00:11:52.979 Mustafa Raja: Oh, this… yeah, yeah, yeah, if you can do that, that, that’s…

133 00:11:52.980 00:11:57.169 Samuel Roberts: Yeah, I’ll do that, and then we can clarify that, and then that can unblock the other one, one way or the other.

134 00:11:57.170 00:11:57.930 Mustafa Raja: Yeah.

135 00:11:58.060 00:11:59.100 Mustafa Raja: Yeah, yeah. Okay.

136 00:11:59.380 00:11:59.940 Mustafa Raja: Okay.

137 00:11:59.940 00:12:00.959 Samuel Roberts: Yeah, I would say work on that…

138 00:12:00.960 00:12:01.440 Mustafa Raja: Hmm…

139 00:12:01.440 00:12:02.579 Samuel Roberts: function, then.

140 00:12:03.860 00:12:04.720 Mustafa Raja: Yeah, yeah.

141 00:12:04.850 00:12:11.069 Mustafa Raja: So, work on that function… so if I work on that function, what’s the deliverable would be? Sorry, just to make sure.

142 00:12:11.070 00:12:17.269 Samuel Roberts: So the deliverable would be, let’s see, something that, the async function in here…

143 00:12:19.890 00:12:25.029 Samuel Roberts: With a, like, set, you know, threshold we can set, probably something kind of low for now for our testing.

144 00:12:26.710 00:12:30.240 Samuel Roberts: That makes… let’s see, we want a webhook, probably?

145 00:12:31.520 00:12:34.100 Samuel Roberts: The question becomes, do we want to just… go ahead.

146 00:12:34.690 00:12:42.200 Mustafa Raja: So we want to save the… what’s it called? The execution time somewhere, right? Am I correct?

147 00:12:43.340 00:12:48.809 Samuel Roberts: Well, the execution time’s gonna get logged. I think this is for, like, letting us know if there’s a major problem, you know?

148 00:12:49.340 00:12:49.980 Mustafa Raja: Yeah.

149 00:12:50.430 00:12:55.550 Samuel Roberts: So I’m thinking, like, either it’s a Slack notification, or it’s gonna be some other kind of webhook.

150 00:12:55.650 00:12:57.470 Samuel Roberts: That logs something for us.

151 00:12:58.770 00:13:02.379 Mustafa Raja: Okay, so just get the alert going, right?

152 00:13:03.000 00:13:08.449 Samuel Roberts: Yeah, I would just say just get that function going so that it’ll trigger something, and we can figure out if it’s gonna be a…

153 00:13:08.900 00:13:14.939 Samuel Roberts: Whatever that webhook’s gonna be that sends a payload that’s just like, hey, this request that looks like this took this long.

154 00:13:15.200 00:13:17.070 Samuel Roberts: And here’s why, or something, you know?

155 00:13:17.710 00:13:22.310 Mustafa Raja: And do we have a threshold for that, for the latency, at least?

156 00:13:24.280 00:13:26.630 Mustafa Raja: We could just say 15 for now.

157 00:13:27.600 00:13:29.799 Samuel Roberts: Yeah, we might even want to do it lower just for testing.

158 00:13:30.490 00:13:31.029 Mustafa Raja: Oh, that’s true.

159 00:13:31.030 00:13:31.550 Casie Aviles: And then…

160 00:13:31.550 00:13:32.180 Mustafa Raja: and…

161 00:13:33.040 00:13:40.210 Casie Aviles: We had, like, I believe Utam was pushing, like, around. If we could do, like, 5 seconds…

162 00:13:40.590 00:13:42.720 Casie Aviles: Within 5 seconds, but…

163 00:13:43.290 00:13:45.000 Samuel Roberts: How is it looking right now, though?

164 00:13:45.870 00:13:50.379 Casie Aviles: Yeah, it’s, it’s, it’s definitely going above 5 for now.

165 00:13:50.990 00:13:53.759 Samuel Roberts: Okay. Set the threshold to…

166 00:13:55.920 00:13:59.349 Samuel Roberts: I would say just set it to 5 for now, since this is just testing in the dev.

167 00:13:59.350 00:14:06.650 Mustafa Raja: Hmm. Hmm. And I’ll be doing that in this channel then, right? This one.

168 00:14:07.540 00:14:09.960 Samuel Roberts: That’s, I think, the best place for… yes.

169 00:14:10.560 00:14:11.159 Casie Aviles: I’m just…

170 00:14:11.160 00:14:21.120 Samuel Roberts: I think that… does that make the most sense to do it, like, just in a Slack notification for now? Because we’re gonna have the logs eventually, so we’ll be able to access it all later. This is just to, like, let us know that something’s taken a long time.

171 00:14:21.810 00:14:22.670 Mustafa Raja: Yeah.

172 00:14:24.830 00:14:27.100 Mustafa Raja: I think… I think hair would be good.

173 00:14:27.100 00:14:32.389 Samuel Roberts: Yeah, that’s definitely… yeah, yeah, set that up, give it a threshold of a 5 for now.

174 00:14:32.490 00:14:35.070 Samuel Roberts: We can always… Change it…

175 00:14:35.750 00:14:39.280 Casie Aviles: Our average is 7.5 right now. I just checked.

176 00:14:39.350 00:14:41.250 Samuel Roberts: Average is 7.5?

177 00:14:42.240 00:14:43.109 Mustafa Raja: With this new one.

178 00:14:43.110 00:14:43.949 Casie Aviles: it very desperate.

179 00:14:45.910 00:14:46.539 Samuel Roberts: Oh, wait, wait a second.

180 00:14:46.540 00:14:48.759 Mustafa Raja: The new one, or with the snowflake?

181 00:14:49.560 00:14:51.340 Casie Aviles: Oh, yeah, yeah, yeah, I mean Unreal.

182 00:14:52.510 00:14:54.020 Mustafa Raja: Unreal, also, for Snowflake.

183 00:14:54.020 00:14:58.390 Samuel Roberts: Oh, okay, so that’s the… okay, okay. 7.5 is… oh yeah, let’s set the… let’s set the threshold to…

184 00:15:02.300 00:15:08.440 Samuel Roberts: Yeah, set it to 5 for now. If we need to change it, we can change it, if it’s, like, overloading in our testing, but we also want to drive it down, so that’s fine.

185 00:15:10.170 00:15:11.900 Samuel Roberts: Figure out how to do that. Okay.

186 00:15:14.460 00:15:21.189 Samuel Roberts: Yeah, I would say work on that, have it logged to that Slack channel, and then we’ll sort out the Postgres, and then…

187 00:15:21.380 00:15:23.670 Samuel Roberts: If, worst case, we’ll have to also log.

188 00:15:23.790 00:15:26.970 Samuel Roberts: something, somewhere. But I think we’ll… once we get this sorted out, we can…

189 00:15:27.470 00:15:30.449 Samuel Roberts: I just want to get those logs so that we even have it for testing, you know?

190 00:15:31.080 00:15:32.050 Mustafa Raja: Yeah, yeah.

191 00:15:32.510 00:15:34.299 Samuel Roberts: Okay. Yeah, if you have, yeah.

192 00:15:34.300 00:15:36.579 Mustafa Raja: Yeah, then that’ll be nice. Okay.

193 00:15:36.580 00:15:37.870 Samuel Roberts: Okay, I’ll post that.

194 00:15:38.520 00:15:40.010 Mustafa Raja: Okay, thank you. Thank you so much.

195 00:15:40.010 00:15:40.940 Samuel Roberts: Anything else?

196 00:15:41.670 00:15:45.659 Mustafa Raja: That’s… I guess that’s pretty much it.

197 00:15:47.180 00:15:48.839 Mustafa Raja: What’s the country intended to be.

198 00:15:49.750 00:15:55.039 Casie Aviles: You know, Mustafa, if you need… if you need any clarification on, like… If you will.

199 00:15:55.040 00:15:55.860 Mustafa Raja: modify it.

200 00:15:55.860 00:15:58.430 Casie Aviles: something in the Google side.

201 00:15:59.350 00:16:09.550 Mustafa Raja: Yeah, I’m going… wait… yeah, I’m going to, what’s it called, look into the implementation, and then if I have any questions, I’ll ping you.

202 00:16:10.470 00:16:12.379 Casie Aviles: Hmm, okay. Sounds good.

203 00:16:13.190 00:16:13.730 Samuel Roberts: Okay.

204 00:16:14.430 00:16:17.250 Mustafa Raja: Yeah, thank you. I guess this is it, this is it then.

205 00:16:17.670 00:16:20.229 Samuel Roberts: Alright, let me know if you need anything else, I’ll make that post right now.

206 00:16:20.770 00:16:22.310 Mustafa Raja: Yep, thank you. Okay.

207 00:16:22.850 00:16:23.680 Mustafa Raja: Mate.

208 00:16:23.680 00:16:24.450 Samuel Roberts: Bye.