-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathseed_data.py
More file actions
429 lines (424 loc) · 21.1 KB
/
Copy pathseed_data.py
File metadata and controls
429 lines (424 loc) · 21.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
"""
Seed content for the prototype.
Two things live here:
- ITEMS: the pool of internal-comms posts the model ranks over. Each carries
a category + tags (the signal the model learns on), an urgency tier, and a
`mandatory` flag used to demonstrate the override (mandatory items reach the
user regardless of what the model predicts).
- PERSONAS: role-based cold-start priors. A brand-new user has no click history,
so we bootstrap their interest profile from a short keyword string tied to
their role, then let real behaviour refine it.
All content is illustrative and generic Health Canada internal comms.
None of it refers to real people, programs, or events.
"""
# urgency tiers drive the "push vs pull" routing, not the personalization score.
URGENT = "urgent"
ACTION = "action"
FYI = "fyi"
ITEMS = [
# --- URGENT / MANDATORY: bypass ranking, always surface ---
{
"id": "i01",
"title": "Planned system maintenance — save all work before the window",
"body": "Corporate systems will undergo scheduled maintenance this weekend. "
"Save and close all open work before the maintenance window begins. "
"Access to shared drives, email, and collaboration tools will be unavailable "
"during the outage. Check the IT status page for real-time updates.",
"category": "IT",
"tags": ["it", "systems", "maintenance", "infrastructure", "outage"],
"urgency": URGENT,
"mandatory": True,
"action": None,
},
{
"id": "i02",
"title": "Mandatory privacy and data protection training — deadline this week",
"body": "All employees must complete the annual privacy awareness module by the end of this week. "
"Completion is tracked centrally and reported to senior management. "
"Employees who have not completed the training will be flagged for follow-up "
"with their manager.",
"category": "Security",
"tags": ["privacy", "security", "training", "compliance", "mandatory", "deadline"],
"urgency": ACTION,
"mandatory": True,
"action": {"type": "register", "label": "Start training"},
},
# --- ACTION: deadline / RSVP / acknowledge ---
{
"id": "i03",
"title": "Annual performance review cycle is now open",
"body": "The performance review period has opened for all staff. "
"Complete your self-assessment and schedule a review conversation with your manager. "
"All assessments must be submitted through the HR portal before the cycle closes.",
"category": "HR",
"tags": ["hr", "performance", "review", "deadline", "people-management"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Open HR portal"},
},
{
"id": "i04",
"title": "All-staff session with senior leadership — register now",
"body": "The upcoming all-staff session will cover departmental priorities for the year ahead, "
"key updates from the senior leadership team, and an open question period. "
"Space is limited; register early to secure your spot and receive the dial-in details.",
"category": "Leadership",
"tags": ["leadership", "all-staff", "town-hall", "event", "strategy"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "rsvp", "label": "Register to attend"},
},
{
"id": "i05",
"title": "Departmental employee survey — closes at end of week",
"body": "The annual employee experience survey is closing Friday. "
"Your responses are anonymous and directly inform workplace improvements. "
"Branch-level participation rates are shared with leadership.",
"category": "HR",
"tags": ["hr", "survey", "engagement", "all-staff", "feedback", "workplace"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Take the survey"},
},
{
"id": "i06",
"title": "Official languages self-assessment — due this quarter",
"body": "Employees in designated bilingual positions must complete their official languages "
"proficiency self-assessment before the end of the quarter. "
"Contact your HR advisor if your language profile has changed since your last assessment.",
"category": "HR",
"tags": ["hr", "official-languages", "bilingual", "compliance", "deadline"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Complete self-assessment"},
},
{
"id": "i07",
"title": "Branch budget planning submissions due",
"body": "Finance is collecting branch-level budget planning inputs for the next fiscal year. "
"Submissions must be reviewed at the DG level before the corporate deadline. "
"Planning templates and instructions are available on the finance intranet page.",
"category": "Finance",
"tags": ["finance", "budget", "planning", "deadline", "operations"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "open", "label": "Open planning template"},
},
{
"id": "i08",
"title": "Data governance consultation — comment period open",
"body": "The data governance team is seeking input on updated guidance covering data classification, "
"sharing agreements, and retention requirements. "
"All branches are encouraged to review the draft and submit comments before the window closes.",
"category": "Data & AI",
"tags": ["data", "governance", "policy", "compliance", "consultation"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Submit comments"},
},
{
"id": "i09",
"title": "Workplace hazardous materials training renewal",
"body": "Employees working in or adjacent to lab environments must renew their hazardous materials "
"handling certification before the end of the quarter. "
"Both in-person and online options are available through the learning management system.",
"category": "Science",
"tags": ["science", "labs", "safety", "training", "compliance", "deadline", "health"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Register for training"},
},
{
"id": "i10",
"title": "Accessible document workshop — seats still available",
"body": "A practical workshop on creating accessible Word, PDF, and PowerPoint documents is running "
"next week. Participants will leave with a ready-to-use accessibility checklist "
"and hands-on practice converting a sample document.",
"category": "Communications",
"tags": ["accessibility", "communications", "training", "writing", "documents"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "rsvp", "label": "Reserve a seat"},
},
{
"id": "i11",
"title": "Internal audit self-assessment — response due this month",
"body": "Internal audit has issued a risk self-assessment questionnaire to directors and DGs "
"as part of the annual audit planning cycle. "
"Responses inform the audit schedule and should be submitted by end of month.",
"category": "Operations",
"tags": ["audit", "risk", "compliance", "operations", "governance", "leadership"],
"urgency": ACTION,
"mandatory": False,
"action": {"type": "register", "label": "Open questionnaire"},
},
# --- FYI: browseable, lower priority ---
{
"id": "i12",
"title": "Updated hybrid work guidance published",
"body": "Revised guidance on in-person expectations, flexible arrangements, and workspace booking "
"has been posted to the intranet. "
"Managers should review the updated team agreement templates and discuss any changes with their teams.",
"category": "HR",
"tags": ["hr", "hybrid", "telework", "workplace", "policy", "managers"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the guidance"},
},
{
"id": "i13",
"title": "Responsible AI use — learning resources now available",
"body": "A curated set of learning resources on responsible AI, prompt engineering fundamentals, "
"and departmental guidance on approved tools has been added to the learning hub. "
"Resources are organized by role and include short videos, job aids, and case studies.",
"category": "Data & AI",
"tags": ["ai", "machine-learning", "data", "learning", "responsible-ai", "automation"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "View resources"},
},
{
"id": "i14",
"title": "Lab safety bulletin — updated equipment procedures",
"body": "The laboratory safety committee has issued an updated bulletin covering equipment "
"handling protocols, personal protective equipment requirements, and the updated "
"incident reporting process. All lab staff should review and acknowledge receipt.",
"category": "Science",
"tags": ["science", "labs", "safety", "operations", "process", "health"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the bulletin"},
},
{
"id": "i15",
"title": "Employee assistance program — reminder and new resources",
"body": "All employees and their immediate family members have access to confidential counselling, "
"financial advice, and wellness coaching through the employee assistance program at no cost. "
"New resources on navigating workplace stress have been added to the program portal.",
"category": "Wellness",
"tags": ["wellness", "mental-health", "eap", "support", "health", "counselling"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Visit the EAP portal"},
},
{
"id": "i16",
"title": "New self-serve analytics dashboards available",
"body": "Program performance dashboards are now available in the corporate reporting environment. "
"Filters allow drill-down by region and time period without needing to contact the data team. "
"A short tutorial video is linked from the dashboard landing page.",
"category": "Data & AI",
"tags": ["data", "analytics", "dashboards", "reporting", "visualization", "programs"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Open dashboards"},
},
{
"id": "i17",
"title": "Policy development toolkit — major refresh",
"body": "The central policy team has updated the departmental policy development toolkit "
"with new templates for regulatory impact analysis, consultation planning, "
"and plain-language policy summaries.",
"category": "Policy",
"tags": ["policy", "regulation", "toolkit", "governance", "writing", "consultation"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Open the toolkit"},
},
{
"id": "i18",
"title": "Internal mobility postings — expressions of interest open",
"body": "A new batch of internal assignment and acting opportunities has been posted to the careers page. "
"Positions span communications, policy, program delivery, and IT. "
"Expressions of interest are due within two weeks.",
"category": "HR",
"tags": ["hr", "career", "mobility", "acting", "opportunity", "development"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "View postings"},
},
{
"id": "i19",
"title": "Records management — quarterly clean-up reminder",
"body": "A reminder to review your electronic files and dispose of transitory records "
"in accordance with the departmental retention schedule. "
"Guidance on what qualifies as a transitory record is available on the IM intranet page.",
"category": "Operations",
"tags": ["operations", "records", "compliance", "information-management", "process"],
"urgency": FYI,
"mandatory": False,
"action": None,
},
{
"id": "i20",
"title": "Plain-language health writing — monthly tip sheet",
"body": "The communications team has shared a short guide on simplifying technical health content "
"for public audiences, with before-and-after examples and a readability checklist. "
"A French version is also available.",
"category": "Communications",
"tags": ["communications", "writing", "plain-language", "public", "health", "accessibility"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the tip sheet"},
},
{
"id": "i21",
"title": "Process automation pilot — results summary",
"body": "An internal pilot automating the intake and routing of incoming program documents has concluded. "
"Results show a significant reduction in manual processing time and fewer routing errors. "
"The team is now planning a broader rollout.",
"category": "Data & AI",
"tags": ["ai", "automation", "data", "process", "machine-learning", "pilot", "operations"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the results"},
},
{
"id": "i22",
"title": "Mental health first aid training — next cohort open",
"body": "Registration is open for the next cohort of mental health first aid training, "
"designed for managers and team leads. "
"The two-day course equips participants to recognize and respond to mental health challenges in the workplace.",
"category": "Wellness",
"tags": ["wellness", "mental-health", "training", "managers", "health", "people-management"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "rsvp", "label": "Register for training"},
},
{
"id": "i23",
"title": "Procurement card — annual policy reminder",
"body": "Finance has published the annual reminder on acquisition card policies, "
"including eligible expense categories, monthly reconciliation timelines, "
"and documentation requirements for audit readiness.",
"category": "Finance",
"tags": ["finance", "procurement", "operations", "compliance", "policy"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Review the policy"},
},
{
"id": "i24",
"title": "Digital workplace update — new collaboration features",
"body": "The digital workplace team has posted a summary of recent platform updates, "
"including improved meeting transcription, shared task boards, "
"and enhanced file co-authoring. A recorded walkthrough is available on the IT intranet page.",
"category": "IT",
"tags": ["it", "collaboration", "digital-workplace", "tools", "modernization"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "See what's new"},
},
{
"id": "i25",
"title": "Science advisory committee — latest meeting summary",
"body": "The summary from the most recent science advisory committee meeting has been published. "
"Topics covered include emerging research priorities, external expert recommendations, "
"and upcoming program evaluations.",
"category": "Science",
"tags": ["science", "research", "advisory", "policy", "evaluation", "governance"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the summary"},
},
{
"id": "i26",
"title": "Values and ethics — updated scenarios and guidance",
"body": "The values and ethics team has added new scenario-based guidance to the intranet, "
"covering situations involving conflicts of interest, social media conduct, "
"and post-employment obligations.",
"category": "HR",
"tags": ["hr", "ethics", "values", "compliance", "guidance", "conduct"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "View the guidance"},
},
{
"id": "i27",
"title": "Sustainability update — departmental greening progress",
"body": "The sustainability coordinator has shared a mid-year update on departmental greening targets, "
"including progress on paper reduction, travel emissions, and energy consumption. "
"Suggestions for team-level actions are included.",
"category": "Operations",
"tags": ["sustainability", "operations", "environment", "reporting", "greening"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the update"},
},
{
"id": "i28",
"title": "Manager essentials — refreshed onboarding checklist",
"body": "HR has updated the onboarding checklist for new hires and employees starting in acting positions. "
"The revised version includes IT access timelines, security clearance steps, "
"and a structured 30-60-90 day conversation guide.",
"category": "HR",
"tags": ["hr", "onboarding", "managers", "people-management", "process", "new-hires"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "View checklist"},
},
{
"id": "i29",
"title": "Research data management standard — draft for comment",
"body": "A draft standard for managing scientific and research data throughout its lifecycle — "
"from collection and active use through to archiving or disposition — "
"is available for comment from science branches and data stakeholders.",
"category": "Data & AI",
"tags": ["data", "science", "research", "governance", "standards", "policy", "information-management"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "register", "label": "Submit comments"},
},
{
"id": "i30",
"title": "Workplace accommodation request process — updated steps",
"body": "HR has revised the process for requesting workplace accommodations, "
"including clearer timelines for manager responses, updated medical documentation guidance, "
"and a new FAQ covering the most common accommodation types.",
"category": "HR",
"tags": ["hr", "accommodation", "accessibility", "workplace", "policy", "inclusion"],
"urgency": FYI,
"mandatory": False,
"action": {"type": "open", "label": "Read the updated process"},
},
]
# Role-based cold-start priors. The keyword string is fed through the same
# vectorizer as the items to seed a brand-new user's interest profile.
PERSONAS = {
"all_staff": {
"label": "All Staff",
"prior": "hr wellness communications policy it data science finance operations all-staff safety training compliance",
},
"policy_analyst": {
"label": "Policy Analyst",
"prior": "policy regulation governance consultation research advisory plain-language writing",
},
"program_officer": {
"label": "Program Officer",
"prior": "programs funding reporting deadline operations process compliance governance",
},
"it_professional": {
"label": "IT / Digital Workplace",
"prior": "it infrastructure systems modernization automation collaboration digital-workplace tools",
},
"data_analyst": {
"label": "Data & AI Analyst",
"prior": "data ai machine-learning analytics dashboards governance automation reporting visualization",
},
"communications_officer": {
"label": "Communications Officer",
"prior": "communications writing plain-language public accessibility documents event all-staff",
},
"lab_scientist": {
"label": "Lab Scientist / Researcher",
"prior": "science labs research safety operations process health advisory equipment",
},
"manager": {
"label": "Manager / Team Lead",
"prior": "hr people-management onboarding performance review all-staff survey engagement wellness",
},
"leadership": {
"label": "Senior Leadership",
"prior": "leadership all-staff strategy governance policy audit risk finance budget town-hall",
},
}