placementt-core 1.400.1074 → 1.400.1075

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,6 +8,9 @@ export type EvidenceCounts = {
8
8
  activities: number;
9
9
  placements: number;
10
10
  guidanceEntries: number;
11
+ /** BM2: pupils whose own use of the LMI job-role data evidenced it. Always 0 on the
12
+ * scheduled half — hearting a role or reading about one has already happened. */
13
+ lmiUsers: number;
11
14
  };
12
15
  /** Per-student, per-benchmark evidence rolled up for the overview + matrix. */
13
16
  export type BenchmarkStat = {
@@ -27,6 +30,16 @@ export type BenchmarkStat = {
27
30
  placements: number;
28
31
  /** Careers record entries evidencing this benchmark (BM3 and BM8; 0 otherwise). */
29
32
  guidanceEntries: number;
33
+ /**
34
+ * BM2 only: pupils who hearted or read about a job role, and so evidenced it
35
+ * themselves rather than through an event the school ran.
36
+ *
37
+ * Carried as its own figure rather than folded into the others because it answers a
38
+ * different question. Every other count is activity the school delivered; this one
39
+ * is pupils using what the school put in front of them, which is what BM2 actually
40
+ * asks about.
41
+ */
42
+ lmiUsers: number;
30
43
  /**
31
44
  * The same evidence, for items dated after today: an event already in the calendar
32
45
  * with pupils invited or signed up, a placement arranged for next term, a guidance
@@ -159,25 +159,28 @@ function computeBenchmarkData(input) {
159
159
  });
160
160
  };
161
161
  // ── Event attendance → coverage (one externalEventStudents doc per pupil) ──
162
- // For an event that has happened, invited-but-not-joined isn't an encounter, so it
163
- // isn't evidence. For an event still to come it is exactly what "scheduled" means:
164
- // the pupil is on the list for something the school has put in the calendar. Removed
165
- // pupils never count either way.
162
+ // Grouped by event first, because whether one pupil's record is evidence depends on
163
+ // the OTHERS: `eventRegisterTaken` asks whether anybody on this event was marked
164
+ // present or absent, and only then does `attended === false` mean the pupil missed
165
+ // it rather than the school never taking a register. Both rules live in core so the
166
+ // Compass export and this figure name the same pupils.
167
+ const studentsByEvent = {};
166
168
  for (const s of Object.values(eventStudentsRaw)) {
167
- if (!s.uid)
168
- continue;
169
- if (s.status === "removed")
170
- continue;
171
- const event = eventBenchmarks[s.eventId];
172
- if (!event)
173
- continue; // event not tagged for any benchmark
174
- const taking = s.status === "joined" || s.status === "confirmed";
175
- if (!taking && !event.scheduled)
176
- continue;
177
- event.bms.forEach((b) => {
178
- bump(b, "attendances", event.inYear, event.scheduled);
179
- addCovered(b, s.uid, event.inYear, event.scheduled, event.startDate);
180
- });
169
+ if (!s.uid || !eventBenchmarks[s.eventId])
170
+ continue; // untagged event, or no pupil
171
+ (studentsByEvent[s.eventId] = studentsByEvent[s.eventId] ?? []).push(s);
172
+ }
173
+ for (const [eventId, attendees] of Object.entries(studentsByEvent)) {
174
+ const event = eventBenchmarks[eventId];
175
+ const registerTaken = (0, benchmarkEvidenceRules_1.eventRegisterTaken)(attendees);
176
+ for (const s of attendees) {
177
+ if (!(0, benchmarkEvidenceRules_1.eventStudentIsEvidence)(s, event.scheduled, registerTaken))
178
+ continue;
179
+ event.bms.forEach((b) => {
180
+ bump(b, "attendances", event.inYear, event.scheduled);
181
+ addCovered(b, s.uid, event.inYear, event.scheduled, event.startDate);
182
+ });
183
+ }
181
184
  }
182
185
  // ── Logged student activities (BM5/BM6 by type) ──
183
186
  for (const act of Object.values(activitiesRaw)) {
@@ -194,8 +197,13 @@ function computeBenchmarkData(input) {
194
197
  }
195
198
  // ── Placements → BM6 (experiences of workplaces) ──
196
199
  // A placement arranged for next term is the clearest scheduled evidence there is:
197
- // signed off, dated, and with a pupil attached.
200
+ // signed off, dated, and with a pupil attached. One that was rejected, withdrawn or
201
+ // never left draft is not evidence of anything, and nor is the in-school dummy —
202
+ // see placementEvidencesWorkplace, which also drops a placement the employer has
203
+ // confirmed the pupil was absent from.
198
204
  for (const p of Object.values(placementsRaw)) {
205
+ if (!(0, benchmarkEvidenceRules_1.placementEvidencesWorkplace)(p))
206
+ continue;
199
207
  const inYear = (0, benchmarkEvidenceRules_1.dateInAcademicYear)(p.startDate, academicYear);
200
208
  const scheduled = isScheduledDate(p.startDate);
201
209
  bump(6, "placements", inYear, scheduled);
@@ -229,6 +237,18 @@ function computeBenchmarkData(input) {
229
237
  addCovered(b, entry.uid, inYear, scheduled, entry.date, entry.yearGroupAtEntry);
230
238
  });
231
239
  }
240
+ // ── BM2: the pupil's own use of the LMI data ──
241
+ // Costs no read: `studentsRaw` is already here as the roster. Tagged events measure
242
+ // whether the school RAN an LMI session; this measures whether a pupil used one, so
243
+ // BM2 is the one benchmark with evidence that does not come from staff.
244
+ const lmiUsersByBm = {};
245
+ for (const [uid, student] of Object.entries(studentsRaw)) {
246
+ for (const { date, yearGroup } of (0, benchmarkEvidenceRules_1.lmiEvidenceForBenchmark2)(student)) {
247
+ (lmiUsersByBm[2] = lmiUsersByBm[2] ?? new Set()).add(uid);
248
+ // Never scheduled: a role already hearted, a profile already read.
249
+ addCovered(2, uid, (0, benchmarkEvidenceRules_1.dateInAcademicYear)(date, academicYear), false, date, yearGroup);
250
+ }
251
+ }
232
252
  // ── PAL: distinct compliant provider encounters per phase ──
233
253
  const palPhaseEncounters = { 1: new Set(), 2: new Set(), 3: new Set() };
234
254
  const palPhaseScheduled = { 1: new Set(), 2: new Set(), 3: new Set() };
@@ -356,7 +376,8 @@ function computeBenchmarkData(input) {
356
376
  activities: counts.activities,
357
377
  placements: counts.placements,
358
378
  guidanceEntries: guidanceDeliveredByBm[bm] ?? 0,
359
- scheduled: { ...sched, guidanceEntries: guidanceScheduledByBm[bm] ?? 0 },
379
+ lmiUsers: lmiUsersByBm[bm]?.size ?? 0,
380
+ scheduled: { ...sched, guidanceEntries: guidanceScheduledByBm[bm] ?? 0, lmiUsers: 0 },
360
381
  byPeriod,
361
382
  coveredStudents: coveredOnRoll.length,
362
383
  projectedCoveredStudents: projectedOnRoll.length,
@@ -1 +1 @@
1
- {"version":3,"file":"benchmarkAggregate.js","sourceRoot":"","sources":["../src/benchmarkAggregate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmarkAggregate.js","sourceRoot":"","sources":["../src/benchmarkAggregate.ts"],"names":[],"mappings":"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"}
@@ -188,4 +188,167 @@ describe("benchmarkRollupAgeHours", () => {
188
188
  expect(benchmarkAggregate_1.BENCHMARK_AGGREGATES).toBe("benchmarkAggregates");
189
189
  });
190
190
  });
191
+ // ─── The register ──────────────────────────────────────────────────────────────
192
+ describe("computeBenchmarkData attendance", () => {
193
+ it("counts everyone who took their place when no register was taken", () => {
194
+ // Most schools never mark a register. Filtering on attended === true would zero
195
+ // out every one of their events.
196
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
197
+ events: { e1: { name: "Fair", startDate: PAST, gatsbyBenchmarks: [5] } },
198
+ eventStudents: {
199
+ a: { uid: "u1", eventId: "e1", status: "joined" },
200
+ b: { uid: "u2", eventId: "e1", status: "confirmed" },
201
+ },
202
+ }));
203
+ expect(data.byBenchmark[5].coveredStudents).toBe(2);
204
+ });
205
+ it("counts only the pupils marked present once a register was taken", () => {
206
+ // Blake signed up and did not turn up. Before the register was respected he
207
+ // read as covered, which is the figure a careers leader would have reported.
208
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
209
+ events: { e1: { name: "Fair", startDate: PAST, gatsbyBenchmarks: [5] } },
210
+ eventStudents: {
211
+ a: { uid: "u1", eventId: "e1", status: "joined", attended: true },
212
+ b: { uid: "u2", eventId: "e1", status: "joined", attended: false },
213
+ },
214
+ }));
215
+ expect(data.byBenchmark[5].coveredStudents).toBe(1);
216
+ expect(data.byBenchmark[5].attendances).toBe(1);
217
+ });
218
+ it("reads each event's register independently", () => {
219
+ // A school that started marking registers this term must not lose last term's
220
+ // coverage because a different event has no attendance data.
221
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
222
+ events: {
223
+ marked: { name: "Marked", startDate: PAST, gatsbyBenchmarks: [5] },
224
+ unmarked: { name: "Unmarked", startDate: PAST, gatsbyBenchmarks: [5] },
225
+ },
226
+ eventStudents: {
227
+ a: { uid: "u1", eventId: "marked", status: "joined", attended: false },
228
+ b: { uid: "u2", eventId: "unmarked", status: "joined" },
229
+ },
230
+ }));
231
+ expect(data.byBenchmark[5].coveredStudents).toBe(1);
232
+ });
233
+ it("ignores attendance on an event that hasn't happened", () => {
234
+ // There is nothing to have attended yet, so being on the list is the plan.
235
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
236
+ events: { e1: { name: "Booked", startDate: FUTURE, gatsbyBenchmarks: [5] } },
237
+ eventStudents: {
238
+ a: { uid: "u1", eventId: "e1", status: "invited" },
239
+ b: { uid: "u2", eventId: "e1", status: "joined", attended: false },
240
+ },
241
+ }));
242
+ expect(data.byBenchmark[5].coveredStudents).toBe(0);
243
+ expect(data.byBenchmark[5].projectedCoveredStudents).toBe(2);
244
+ });
245
+ });
246
+ // ─── Placements ────────────────────────────────────────────────────────────────
247
+ describe("computeBenchmarkData placements", () => {
248
+ it("ignores placements that did not and will not happen", () => {
249
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
250
+ placements: {
251
+ p1: { uid: "u1", startDate: PAST, statusType: "completed" },
252
+ p2: { uid: "u2", startDate: PAST, statusType: "rejected" },
253
+ p3: { uid: "u3", startDate: PAST, statusType: "withdrawn" },
254
+ p4: { uid: "u4", startDate: PAST, statusType: "draft" },
255
+ },
256
+ }));
257
+ expect(data.byBenchmark[6].placements).toBe(1);
258
+ expect(data.byBenchmark[6].coveredStudents).toBe(1);
259
+ });
260
+ it("keeps a placement arranged for next term as scheduled evidence", () => {
261
+ // The reason eligibility is by statusType and not `completed === true`: gating on
262
+ // completion throws away the best planned evidence on the platform.
263
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
264
+ placements: { p1: { uid: "u1", startDate: FUTURE, statusType: "active" } },
265
+ }));
266
+ expect(data.byBenchmark[6].coveredStudents).toBe(0);
267
+ expect(data.byBenchmark[6].projectedCoveredStudents).toBe(1);
268
+ });
269
+ it("drops a placement the employer confirmed the pupil was absent from", () => {
270
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
271
+ placements: {
272
+ p1: { uid: "u1", startDate: PAST, statusType: "completed", attended: false },
273
+ // Asked and not yet answered is not the same as no.
274
+ p2: { uid: "u2", startDate: PAST, statusType: "completed", attended: "requested" },
275
+ },
276
+ }));
277
+ expect(data.byBenchmark[6].coveredStudents).toBe(1);
278
+ });
279
+ it("does not count the in-school dummy as experience of a workplace", () => {
280
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
281
+ placements: { p1: { uid: "u1", startDate: PAST, statusType: "inSchool", inSchool: true } },
282
+ }));
283
+ expect(data.byBenchmark[6].coveredStudents).toBe(0);
284
+ });
285
+ });
286
+ // ─── Benchmark 2 from the pupil's own LMI use ──────────────────────────────────
287
+ describe("computeBenchmarkData BM2 from LMI use", () => {
288
+ const hearted = (year, forename, added) => ({
289
+ ...pupil(year, forename),
290
+ currentJobPreferences: { 2136: { title: "Software developer", added } },
291
+ });
292
+ it("counts a hearted job role as the pupil using LMI", () => {
293
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
294
+ students: {
295
+ u1: hearted(11, "Ada", PAST),
296
+ u2: pupil(11, "Blake"),
297
+ },
298
+ }));
299
+ expect(data.byBenchmark[2].lmiUsers).toBe(1);
300
+ const ks4 = data.byBenchmark[2].byPeriod?.find((p) => p.id === "ks4");
301
+ expect(ks4?.dueCovered).toBe(1);
302
+ expect(ks4?.dueTotal).toBe(2);
303
+ });
304
+ it("attributes a survey's hearted roles to the year group the entry stamped", () => {
305
+ // aspirationHistory carries its own yearGroup, so a Year 13 whose only LMI use
306
+ // was in Year 9 evidences Key Stage 3 and not Years 12-13.
307
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
308
+ students: {
309
+ u4: {
310
+ ...pupil(13, "Dev"),
311
+ aspirationHistory: [{
312
+ yearGroup: 9, date: "2022-03-01",
313
+ jobPreferences: [{ soc: "2136", title: "Software developer" }],
314
+ }],
315
+ },
316
+ u3: pupil(9, "Cleo"),
317
+ },
318
+ }));
319
+ expect(data.byBenchmark[2].byPeriod?.find((p) => p.id === "ks5")?.dueCovered).toBe(0);
320
+ });
321
+ it("needs several roles read before browsing alone evidences BM2", () => {
322
+ // One popup opened for two seconds is a click, not "used labour market
323
+ // information". Hearting one role is a decision, and counts on its own.
324
+ const views = (n) => Object.fromEntries(Array.from({ length: n }, (_, i) => [`21${30 + i}`, { first: PAST, last: PAST, count: 1 }]));
325
+ const one = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
326
+ students: { u1: { ...pupil(11, "Ada"), lmiViews: views(1) } },
327
+ }));
328
+ expect(one.byBenchmark[2].lmiUsers).toBe(0);
329
+ const several = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
330
+ students: { u1: { ...pupil(11, "Ada"), lmiViews: views(3) } },
331
+ }));
332
+ expect(several.byBenchmark[2].lmiUsers).toBe(1);
333
+ });
334
+ it("credits both Key Stages when a pupil browsed in each", () => {
335
+ // Why lmiViews holds first AND last: one timestamp can only land in one period.
336
+ const data = (0, benchmarkAggregate_1.computeBenchmarkData)(withRoster({
337
+ students: {
338
+ u2: {
339
+ ...pupil(11, "Blake"),
340
+ lmiViews: {
341
+ 2136: { first: "2023-10-01", last: PAST, count: 4 },
342
+ 2137: { first: "2023-10-02", last: PAST, count: 2 },
343
+ 2138: { first: "2023-10-03", last: PAST, count: 2 },
344
+ },
345
+ },
346
+ u3: pupil(9, "Cleo"),
347
+ },
348
+ }));
349
+ // Blake is Year 11 now; the 2023 reads back-derive to Year 9.
350
+ expect(data.byBenchmark[2].byPeriod?.find((p) => p.id === "ks3")?.dueCovered).toBe(0);
351
+ expect(data.byBenchmark[2].byPeriod?.find((p) => p.id === "ks4")?.dueCovered).toBe(1);
352
+ });
353
+ });
191
354
  //# sourceMappingURL=benchmarkAggregate.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"benchmarkAggregate.test.js","sourceRoot":"","sources":["../src/benchmarkAggregate.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmarkAggregate.test.js","sourceRoot":"","sources":["../src/benchmarkAggregate.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { CareersRecordEntry, ExternalEvent, StudentActivity } from "./typeDefinitions";
1
+ import { CareersRecordEntry, ExternalEvent, ExternalEventStudent, StudentActivity, StudentPlacementData, UserData } from "./typeDefinitions";
2
2
  export declare const GATSBY_BENCHMARK_NUMBERS: readonly [2, 3, 4, 5, 6, 7, 8];
3
3
  export type GatsbyBenchmarkNumber = (typeof GATSBY_BENCHMARK_NUMBERS)[number];
4
- export type BenchmarkEvidenceSource = "provision" | "recordsAndDestinations" | "events" | "eventsAndActivities" | "eventsAndPlacements" | "guidance";
4
+ export type BenchmarkEvidenceSource = "provision" | "recordsAndDestinations" | "events" | "eventsAndLmi" | "eventsAndActivities" | "eventsActivitiesAndPlacements" | "guidance";
5
5
  /**
6
6
  * ─── Time model ───────────────────────────────────────────────────────────────
7
7
  * The period a benchmark's coverage is measured over. This is NOT cosmetic: the
@@ -125,13 +125,14 @@ export declare function evidenceCountsTowardCheckpoint(checkpoint: BenchmarkCove
125
125
  * a workplace or a provider, so they map to nothing rather than quietly inflating a
126
126
  * school's coverage. Only the two programme types that genuinely put a student inside
127
127
  * a university or a lab are mapped: research placements (a real workplace, hosted by a
128
- * provider) and summer schools (a provider encounter).
128
+ * provider), summer schools and open days (provider encounters).
129
129
  *
130
- * NOTE: `onlineProgramme` predates the picker, when it meant an employer's virtual
131
- * work-experience programme, and is left at BM5 so existing schools' Compass returns
132
- * don't change under them. Its label is now "Online course or MOOC" — a FutureLearn
133
- * course is not an employer encounter, and virtual insight days now belong under
134
- * workShadowing/workshop — so this should probably become [] for new records.
130
+ * NOTE: `onlineProgramme` used to map to BM5, from when the type meant an employer's
131
+ * virtual work-experience programme. Its label is now "Online course or MOOC" — a
132
+ * FutureLearn course is not an employer encounter, and virtual insight days belong
133
+ * under workShadowing/workshop — so it maps to nothing. Because the map is applied at
134
+ * read time this is retroactive: historic MOOCs stopped evidencing BM5, including for
135
+ * academic years already exported to Compass+.
135
136
  */
136
137
  export declare const ACTIVITY_TYPE_BENCHMARKS: Record<StudentActivity["activityType"], GatsbyBenchmarkNumber[]>;
137
138
  /**
@@ -145,6 +146,107 @@ export declare function eventEvidenceBenchmarks(event: Pick<ExternalEvent, "gats
145
146
  export declare function eventProvidesBenchmark(event: Pick<ExternalEvent, "gatsbyBenchmarks">, benchmark: GatsbyBenchmarkNumber): boolean;
146
147
  /** The benchmarks a logged student activity is evidence for. */
147
148
  export declare function activityEvidenceBenchmarks(activity: Pick<StudentActivity, "activityType">): GatsbyBenchmarkNumber[];
149
+ /**
150
+ * ─── Placements as Benchmark 6 evidence ───────────────────────────────────────
151
+ * Every document in `placements` used to count, which meant a rejected placement, a
152
+ * withdrawn one and a draft a pupil half-filled all read as "first-hand experience of
153
+ * a workplace".
154
+ *
155
+ * Excluded rather than included, deliberately. Gating on `completed === true` is the
156
+ * obvious rule and the wrong one: it throws away the scheduled half of BM6, and a
157
+ * placement signed off for next term is the best piece of planned evidence on the
158
+ * platform. So the statuses that mean "this did not and will not happen" are named,
159
+ * and everything else counts on its date the way it always did.
160
+ *
161
+ * `inSchool` is excluded too. It is the dummy created so a pupil kept in school is not
162
+ * counted as placement-less — no provider, no workflow, no workplace.
163
+ */
164
+ export declare const PLACEMENT_NON_EVIDENCE_STATUS_TYPES: StudentPlacementData["statusType"][];
165
+ /**
166
+ * Whether a work-experience placement evidences BM6.
167
+ *
168
+ * Cheap and total: this is a filter over documents already in memory (both callers read
169
+ * the school's whole `placements` collection in one query and neither can express "not
170
+ * one of these five" as a Firestore filter anyway — `not-in` caps at ten values and
171
+ * cannot be combined with the range query the export needs).
172
+ *
173
+ * @param {StudentPlacementData} placement the placement.
174
+ * @return {boolean} whether it counts as workplace evidence.
175
+ */
176
+ export declare function placementEvidencesWorkplace(placement: Pick<StudentPlacementData, "statusType" | "inSchool" | "attended">): boolean;
177
+ /**
178
+ * ─── The register ─────────────────────────────────────────────────────────────
179
+ * Which pupils an event actually reached.
180
+ *
181
+ * Three states, not two, and the middle one is the whole point:
182
+ *
183
+ * a register was taken → only the pupils marked present count. `attended` is a
184
+ * real field the platform collects, and ignoring it made a
185
+ * pupil who signed up and never turned up look served.
186
+ * no register was taken → everyone who took their place counts. Filtering on
187
+ * `attended === true` here would zero out every event whose
188
+ * school never marks a register, which is most of them.
189
+ * the event is in future → everyone still on the list counts as scheduled, invited
190
+ * included: being on the list for something in the calendar
191
+ * is exactly what a plan is.
192
+ *
193
+ * Taken from the Compass export, which has always read attendance this way. It lives
194
+ * here now so the export and the coverage figure cannot disagree about who an activity
195
+ * reached — they were already disagreeing.
196
+ *
197
+ * @param {object[]} eventStudents every attendance record for ONE event.
198
+ * @return {boolean} whether a register was taken on it.
199
+ */
200
+ export declare function eventRegisterTaken(eventStudents: Pick<ExternalEventStudent, "status" | "attended">[]): boolean;
201
+ /**
202
+ * Whether one attendance record is evidence, given its event.
203
+ *
204
+ * @param {object} eventStudent the pupil's record on the event.
205
+ * @param {boolean} eventIsScheduled whether the event is still in the future.
206
+ * @param {boolean} registerTaken whether a register was taken on that event.
207
+ * @return {boolean} whether it evidences the event's benchmarks for that pupil.
208
+ */
209
+ export declare function eventStudentIsEvidence(eventStudent: Pick<ExternalEventStudent, "status" | "attended">, eventIsScheduled: boolean, registerTaken: boolean): boolean;
210
+ /**
211
+ * ─── Benchmark 2 from the pupil's own use of LMI ───────────────────────────────
212
+ * BM2 asks whether pupils "used information about careers and labour market
213
+ * information" (Compass 2.1). Tagged events were the only evidence for it, which
214
+ * measured whether the school ran an LMI session rather than whether anybody used one.
215
+ *
216
+ * Three traces of a pupil actually using the LMI data, in descending strength:
217
+ *
218
+ * aspirationHistory[].jobPreferences the roles they hearted while answering Form A.
219
+ * Carries its own `date` AND `yearGroup`, so it
220
+ * needs no back-derivation at all, and it is
221
+ * immutable — un-hearting later never edits it.
222
+ * currentJobPreferences the live hearted set, dated by `added`. Note
223
+ * this is current STATE: un-hearting removes the
224
+ * evidence and coverage can fall with nothing
225
+ * else changing. No other source behaves that way.
226
+ * lmiViews job-role profiles they opened.
227
+ *
228
+ * Views are the weak one. Opening a popup is a click, where hearting a role is a
229
+ * decision, and one two-second popup counting as "used labour market information" is
230
+ * precisely the sort of thing that turns a coverage figure into noise. So views only
231
+ * evidence BM2 once a pupil has looked at several distinct roles.
232
+ */
233
+ export declare const LMI_VIEWS_FOR_BM2 = 3;
234
+ /**
235
+ * The dates on which a pupil demonstrably used LMI data, each with the year group to
236
+ * attribute it to where the record knows it.
237
+ *
238
+ * Returns one entry per piece of evidence rather than a single "covered" boolean,
239
+ * because BM2 is periodised by Key Stage: a pupil who hearted a role in Year 9 and
240
+ * browsed again in Year 11 evidences Key Stage 3 and Key Stage 4, and one date could
241
+ * only ever land in one of them.
242
+ *
243
+ * @param {object} student the pupil's user document.
244
+ * @return {object[]} dated evidence, `yearGroup` set only where the record stamped one.
245
+ */
246
+ export declare function lmiEvidenceForBenchmark2(student: Pick<UserData, "aspirationHistory" | "currentJobPreferences" | "lmiViews">): {
247
+ date: string;
248
+ yearGroup?: number;
249
+ }[];
148
250
  export declare function isPersonalGuidanceEntry(entry: Pick<CareersRecordEntry, "entryType" | "adviserQualified">): boolean;
149
251
  /** The benchmarks a careers record entry is evidence for. */
150
252
  export declare function careersRecordEvidenceBenchmarks(entry: Pick<CareersRecordEntry, "entryType" | "adviserQualified">): GatsbyBenchmarkNumber[];