placementt-core 1.400.1059 → 1.400.1061

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.
@@ -2,12 +2,17 @@ import { CareersRecordEntry, ExternalEvent, StudentActivity } from "./typeDefini
2
2
  /**
3
3
  * ─── Single source of truth for Gatsby Benchmark *evidence* ───────────────────
4
4
  *
5
- * This module lives beside compassExport on purpose. The Benchmarks dashboard and
6
- * the Compass+ export must never disagree about which benchmarks an event counts
7
- * for, so both derive from the SAME mapping. compassExport owns what can be
8
- * *exported* (COMPASS_VALID_ACTIVITY_BENCHMARKS = 2-8, COMPASS_PAL_BENCHMARKS =
9
- * 5-7); this module owns what counts as *evidence coverage* on the dashboard, and
10
- * it imports those constants rather than re-declaring them.
5
+ * This module lives beside the Compass export on purpose. The Benchmarks
6
+ * dashboard and the Compass+ export must never disagree about which benchmarks an
7
+ * event counts for, so both derive from the SAME mapping. compassTemplate owns
8
+ * what CEC's sheet can carry (COMPASS_VALID_ACTIVITY_BENCHMARKS = 2-8,
9
+ * COMPASS_PAL_BENCHMARKS = 5-7); this module owns what counts as *evidence
10
+ * coverage* on the dashboard, and it imports those constants rather than
11
+ * re-declaring them.
12
+ *
13
+ * Importing from compassTemplate rather than compassExport is what keeps the
14
+ * graph acyclic: compassExport needs `activityEvidenceBenchmarks` from here to
15
+ * turn a logged activity into a row, so it must sit downstream of this file.
11
16
  *
12
17
  * Framing rule the whole feature obeys: CareerThread is not a Compass replacement
13
18
  * and never shows an official benchmark "score". Schools still self-report in
@@ -281,5 +286,70 @@ export declare function dateInAcademicYear(dateStr: string | undefined, academic
281
286
  * red/green, to avoid compliance theatre. `undefined` when a benchmark carries no
282
287
  * coverage number (BM1/BM8) so callers render an informational/empty state instead.
283
288
  */
289
+ /**
290
+ * ─── Answering Compass, rather than scoring it ────────────────────────────────
291
+ *
292
+ * A Compass benchmark score is a self-assessment percentage over a questionnaire,
293
+ * much of which is not countable at all — is your Careers Leader trained, does the
294
+ * governing board back the programme, is the programme published on your website. No
295
+ * platform can compute that, and we must never imply we do.
296
+ *
297
+ * What we CAN do, and what is more useful than a score, is answer the countable
298
+ * questions for the school. Compass takes proportion questions in bands rather than
299
+ * exact figures, so the honest output is: the band we would answer, the figure behind
300
+ * it, and the pupils in the shortfall.
301
+ */
302
+ export type CompassProportionBand = {
303
+ id: "all" | "almostAll" | "overwhelmingMajority" | "most" | "some" | "aFew" | "none";
304
+ label: string;
305
+ /** The band's range as Compass words it, e.g. "76-90%". */
306
+ range: string;
307
+ /** Inclusive lower bound as a fraction. */
308
+ min: number;
309
+ };
310
+ /** Highest band first, so the first match wins. */
311
+ export declare const COMPASS_PROPORTION_BANDS: CompassProportionBand[];
312
+ /** The band Compass would take for this proportion. */
313
+ export declare const COMPASS_FULL_ACHIEVEMENT_BAND: CompassProportionBand["id"];
314
+ /**
315
+ * @param {number} fraction the proportion covered, 0-1.
316
+ * @return {CompassProportionBand} the band Compass would record.
317
+ */
318
+ export declare function compassProportionBand(fraction: number): CompassProportionBand;
319
+ /**
320
+ * Whether a band meets Compass's full-achievement threshold (the overwhelming
321
+ * majority, 76% and up). Stated rather than inferred from the index so the threshold
322
+ * has one home if CEC moves it.
323
+ *
324
+ * @param {CompassProportionBand} band the band answered.
325
+ * @return {boolean} whether it reaches full achievement.
326
+ */
327
+ export declare function compassBandIsFullAchievement(band: CompassProportionBand): boolean;
328
+ /**
329
+ * The Compass question a benchmark's period answers.
330
+ *
331
+ * Source: CEC's Compass Evaluation Question-by-Question Guidance — Schools (v8). Only
332
+ * the countable proportion questions are here; the provision questions (is there a
333
+ * programme, is it published, is the Careers Leader trained) are not ours to answer
334
+ * and are deliberately absent rather than guessed at.
335
+ *
336
+ * Keyed by benchmark and the period id from BENCHMARK_AGE_CHECKPOINTS /
337
+ * BENCHMARK_KEY_STAGES, which is why those ids are stable.
338
+ */
339
+ export declare const COMPASS_QUESTIONS: {
340
+ [bm: number]: {
341
+ [periodId: string]: {
342
+ number: string;
343
+ text: string;
344
+ };
345
+ };
346
+ };
347
+ /** BM5's question is annual rather than periodised, so it has no period id. */
348
+ export declare const COMPASS_ANNUAL_QUESTIONS: {
349
+ [bm: number]: {
350
+ number: string;
351
+ text: string;
352
+ };
353
+ };
284
354
  export type CoverageBand = "none" | "low" | "partial" | "strong" | "full";
285
355
  export declare function coverageBand(fraction: number): CoverageBand;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PAL_PHASES = exports.PAL_ENCOUNTERS_PER_PHASE = exports.ACTIVITY_TYPE_BENCHMARKS = exports.parseYearGroup = exports.BENCHMARK_KEY_STAGES = exports.BENCHMARK_AGE_CHECKPOINTS = exports.BENCHMARK_META = exports.BENCHMARK_COVERAGE_NUMBERS = exports.GATSBY_BENCHMARK_NUMBERS = void 0;
3
+ exports.COMPASS_ANNUAL_QUESTIONS = exports.COMPASS_QUESTIONS = exports.COMPASS_FULL_ACHIEVEMENT_BAND = exports.COMPASS_PROPORTION_BANDS = exports.PAL_PHASES = exports.PAL_ENCOUNTERS_PER_PHASE = exports.ACTIVITY_TYPE_BENCHMARKS = exports.parseYearGroup = exports.BENCHMARK_KEY_STAGES = exports.BENCHMARK_AGE_CHECKPOINTS = exports.BENCHMARK_META = exports.BENCHMARK_COVERAGE_NUMBERS = exports.GATSBY_BENCHMARK_NUMBERS = void 0;
4
4
  exports.ageCheckpointForYearGroup = ageCheckpointForYearGroup;
5
5
  exports.keyStageForYearGroup = keyStageForYearGroup;
6
6
  exports.benchmarkCoveragePeriods = benchmarkCoveragePeriods;
@@ -17,17 +17,24 @@ exports.palPhaseForYearGroup = palPhaseForYearGroup;
17
17
  exports.academicYearForDate = academicYearForDate;
18
18
  exports.academicYearDateRange = academicYearDateRange;
19
19
  exports.dateInAcademicYear = dateInAcademicYear;
20
+ exports.compassProportionBand = compassProportionBand;
21
+ exports.compassBandIsFullAchievement = compassBandIsFullAchievement;
20
22
  exports.coverageBand = coverageBand;
21
- const compassExport_1 = require("./compassExport");
23
+ const compassTemplate_1 = require("./compassTemplate");
22
24
  /**
23
25
  * ─── Single source of truth for Gatsby Benchmark *evidence* ───────────────────
24
26
  *
25
- * This module lives beside compassExport on purpose. The Benchmarks dashboard and
26
- * the Compass+ export must never disagree about which benchmarks an event counts
27
- * for, so both derive from the SAME mapping. compassExport owns what can be
28
- * *exported* (COMPASS_VALID_ACTIVITY_BENCHMARKS = 2-8, COMPASS_PAL_BENCHMARKS =
29
- * 5-7); this module owns what counts as *evidence coverage* on the dashboard, and
30
- * it imports those constants rather than re-declaring them.
27
+ * This module lives beside the Compass export on purpose. The Benchmarks
28
+ * dashboard and the Compass+ export must never disagree about which benchmarks an
29
+ * event counts for, so both derive from the SAME mapping. compassTemplate owns
30
+ * what CEC's sheet can carry (COMPASS_VALID_ACTIVITY_BENCHMARKS = 2-8,
31
+ * COMPASS_PAL_BENCHMARKS = 5-7); this module owns what counts as *evidence
32
+ * coverage* on the dashboard, and it imports those constants rather than
33
+ * re-declaring them.
34
+ *
35
+ * Importing from compassTemplate rather than compassExport is what keeps the
36
+ * graph acyclic: compassExport needs `activityEvidenceBenchmarks` from here to
37
+ * turn a logged activity into a row, so it must sit downstream of this file.
31
38
  *
32
39
  * Framing rule the whole feature obeys: CareerThread is not a Compass replacement
33
40
  * and never shows an official benchmark "score". Schools still self-report in
@@ -45,7 +52,7 @@ exports.GATSBY_BENCHMARK_NUMBERS = [1, 2, 3, 4, 5, 6, 7, 8];
45
52
  * now recorded on the careers record, so it earns a coverage number like the rest —
46
53
  * but a cumulative, age-banded one. See BENCHMARK_AGE_CHECKPOINTS.
47
54
  */
48
- exports.BENCHMARK_COVERAGE_NUMBERS = [...compassExport_1.COMPASS_VALID_ACTIVITY_BENCHMARKS];
55
+ exports.BENCHMARK_COVERAGE_NUMBERS = [...compassTemplate_1.COMPASS_VALID_ACTIVITY_BENCHMARKS];
49
56
  exports.BENCHMARK_META = {
50
57
  1: {
51
58
  number: 1,
@@ -323,7 +330,7 @@ exports.ACTIVITY_TYPE_BENCHMARKS = {
323
330
  */
324
331
  function eventEvidenceBenchmarks(event) {
325
332
  return (event.gatsbyBenchmarks || [])
326
- .filter((b) => compassExport_1.COMPASS_VALID_ACTIVITY_BENCHMARKS.includes(b));
333
+ .filter((b) => compassTemplate_1.COMPASS_VALID_ACTIVITY_BENCHMARKS.includes(b));
327
334
  }
328
335
  /** Whether an event is tagged as evidence for a specific benchmark. */
329
336
  function eventProvidesBenchmark(event, benchmark) {
@@ -362,7 +369,7 @@ function careersRecordEvidenceBenchmarks(entry) {
362
369
  function isPalCompliantProviderEncounter(event) {
363
370
  if (!event.palCompliant)
364
371
  return false;
365
- return eventEvidenceBenchmarks(event).some((b) => compassExport_1.COMPASS_PAL_BENCHMARKS.includes(b));
372
+ return eventEvidenceBenchmarks(event).some((b) => compassTemplate_1.COMPASS_PAL_BENCHMARKS.includes(b));
366
373
  }
367
374
  /**
368
375
  * ─── PAL phases (s.42B Education Act 1997) ─────────────────────────────────────
@@ -407,6 +414,68 @@ function dateInAcademicYear(dateStr, academicYear = academicYearForDate()) {
407
414
  const { start, end } = academicYearDateRange(academicYear);
408
415
  return dateStr >= start && dateStr < end;
409
416
  }
417
+ /** Highest band first, so the first match wins. */
418
+ exports.COMPASS_PROPORTION_BANDS = [
419
+ { id: "all", label: "All", range: "100%", min: 1 },
420
+ { id: "almostAll", label: "Almost all", range: "91-99%", min: 0.91 },
421
+ { id: "overwhelmingMajority", label: "Overwhelming majority", range: "76-90%", min: 0.76 },
422
+ { id: "most", label: "Most", range: "51-75%", min: 0.51 },
423
+ { id: "some", label: "Some", range: "26-50%", min: 0.26 },
424
+ { id: "aFew", label: "A few", range: "1-25%", min: 0.01 },
425
+ { id: "none", label: "None", range: "0%", min: 0 },
426
+ ];
427
+ /** The band Compass would take for this proportion. */
428
+ exports.COMPASS_FULL_ACHIEVEMENT_BAND = "overwhelmingMajority";
429
+ /**
430
+ * @param {number} fraction the proportion covered, 0-1.
431
+ * @return {CompassProportionBand} the band Compass would record.
432
+ */
433
+ function compassProportionBand(fraction) {
434
+ const pct = Math.round(Math.max(0, Math.min(1, fraction)) * 100) / 100;
435
+ return exports.COMPASS_PROPORTION_BANDS.find((b) => pct >= b.min) ?? exports.COMPASS_PROPORTION_BANDS[exports.COMPASS_PROPORTION_BANDS.length - 1];
436
+ }
437
+ /**
438
+ * Whether a band meets Compass's full-achievement threshold (the overwhelming
439
+ * majority, 76% and up). Stated rather than inferred from the index so the threshold
440
+ * has one home if CEC moves it.
441
+ *
442
+ * @param {CompassProportionBand} band the band answered.
443
+ * @return {boolean} whether it reaches full achievement.
444
+ */
445
+ function compassBandIsFullAchievement(band) {
446
+ return band.min >= (exports.COMPASS_PROPORTION_BANDS.find((b) => b.id === exports.COMPASS_FULL_ACHIEVEMENT_BAND)?.min ?? 0.76);
447
+ }
448
+ /**
449
+ * The Compass question a benchmark's period answers.
450
+ *
451
+ * Source: CEC's Compass Evaluation Question-by-Question Guidance — Schools (v8). Only
452
+ * the countable proportion questions are here; the provision questions (is there a
453
+ * programme, is it published, is the Careers Leader trained) are not ours to answer
454
+ * and are deliberately absent rather than guessed at.
455
+ *
456
+ * Keyed by benchmark and the period id from BENCHMARK_AGE_CHECKPOINTS /
457
+ * BENCHMARK_KEY_STAGES, which is why those ids are stable.
458
+ */
459
+ exports.COMPASS_QUESTIONS = {
460
+ 2: {
461
+ ks3: { number: "2.1", text: "Pupils who used information about careers and labour market information during Key Stage 3" },
462
+ ks4: { number: "2.1", text: "Pupils who used information about careers and labour market information during Key Stage 4" },
463
+ ks5: { number: "2.1", text: "Students who used information about careers and labour market information during Years 12 and 13" },
464
+ },
465
+ 6: {
466
+ ks3: { number: "6.1", text: "Pupils who had a meaningful experience of a workplace during Key Stage 3" },
467
+ ks4: { number: "6.2", text: "Pupils who had a meaningful experience of a workplace during Key Stage 4" },
468
+ ks5: { number: "6.3", text: "Students who had a meaningful experience of a workplace during Years 12 and 13" },
469
+ },
470
+ 8: {
471
+ age16: { number: "8.1", text: "Pupils who had at least one personal guidance interview by the end of Year 11" },
472
+ age18: { number: "8.2", text: "Students who had a personal guidance interview between Year 12 and Year 13" },
473
+ },
474
+ };
475
+ /** BM5's question is annual rather than periodised, so it has no period id. */
476
+ exports.COMPASS_ANNUAL_QUESTIONS = {
477
+ 5: { number: "5.1", text: "Pupils who had a meaningful encounter with an employer this academic year" },
478
+ };
410
479
  function coverageBand(fraction) {
411
480
  if (fraction <= 0)
412
481
  return "none";
@@ -1 +1 @@
1
- {"version":3,"file":"benchmarkEvidenceRules.js","sourceRoot":"","sources":["../src/benchmarkEvidenceRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmarkEvidenceRules.js","sourceRoot":"","sources":["../src/benchmarkEvidenceRules.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const benchmarkEvidenceRules_1 = require("./benchmarkEvidenceRules");
4
- const compassExport_1 = require("./compassExport");
4
+ const compassTemplate_1 = require("./compassTemplate");
5
5
  describe("benchmarkEvidenceRules single-source consistency", () => {
6
6
  it("stays consistent with the Compass export's valid activity benchmarks (2-8)", () => {
7
7
  // Coverage numbers are exactly the export-valid set. BM8 joined it when personal
8
8
  // guidance became recordable on the careers record; BM1 was never in it.
9
- expect(benchmarkEvidenceRules_1.BENCHMARK_COVERAGE_NUMBERS).toEqual([...compassExport_1.COMPASS_VALID_ACTIVITY_BENCHMARKS]);
9
+ expect(benchmarkEvidenceRules_1.BENCHMARK_COVERAGE_NUMBERS).toEqual([...compassTemplate_1.COMPASS_VALID_ACTIVITY_BENCHMARKS]);
10
10
  expect(benchmarkEvidenceRules_1.BENCHMARK_COVERAGE_NUMBERS).not.toContain(1);
11
11
  expect(benchmarkEvidenceRules_1.BENCHMARK_COVERAGE_NUMBERS).toContain(8);
12
12
  });
@@ -45,7 +45,44 @@ describe("benchmarkEvidenceRules single-source consistency", () => {
45
45
  it("flags PAL relevance for exactly benchmarks 5-7", () => {
46
46
  [1, 2, 3, 4, 5, 6, 7, 8].forEach((b) => {
47
47
  expect(benchmarkEvidenceRules_1.BENCHMARK_META[b].palRelevant)
48
- .toBe(compassExport_1.COMPASS_PAL_BENCHMARKS.includes(b));
48
+ .toBe(compassTemplate_1.COMPASS_PAL_BENCHMARKS.includes(b));
49
+ });
50
+ });
51
+ });
52
+ describe("answering Compass's proportion questions", () => {
53
+ it("puts a proportion in the band Compass would record", () => {
54
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(1).id).toBe("all");
55
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.99).id).toBe("almostAll");
56
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.91).id).toBe("almostAll");
57
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.9).id).toBe("overwhelmingMajority");
58
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.76).id).toBe("overwhelmingMajority");
59
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.75).id).toBe("most");
60
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.51).id).toBe("most");
61
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.5).id).toBe("some");
62
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.26).id).toBe("some");
63
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.25).id).toBe("aFew");
64
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0.01).id).toBe("aFew");
65
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(0).id).toBe("none");
66
+ });
67
+ it("marks the full-achievement threshold at the overwhelming majority", () => {
68
+ expect((0, benchmarkEvidenceRules_1.compassBandIsFullAchievement)((0, benchmarkEvidenceRules_1.compassProportionBand)(0.76))).toBe(true);
69
+ expect((0, benchmarkEvidenceRules_1.compassBandIsFullAchievement)((0, benchmarkEvidenceRules_1.compassProportionBand)(0.75))).toBe(false);
70
+ });
71
+ it("never falls outside a band, whatever it is handed", () => {
72
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(-1).id).toBe("none");
73
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(5).id).toBe("all");
74
+ expect((0, benchmarkEvidenceRules_1.compassProportionBand)(Number.NaN).id).toBe("none");
75
+ });
76
+ it("names a question for every period of the benchmarks it covers", () => {
77
+ // The ids have to match the period lists, or a question would never be
78
+ // matched to the figure that answers it.
79
+ [2, 6].forEach((bm) => {
80
+ benchmarkEvidenceRules_1.BENCHMARK_KEY_STAGES.forEach((ks) => {
81
+ expect(benchmarkEvidenceRules_1.COMPASS_QUESTIONS[bm][ks.id]).toBeTruthy();
82
+ });
83
+ });
84
+ benchmarkEvidenceRules_1.BENCHMARK_AGE_CHECKPOINTS.forEach((cp) => {
85
+ expect(benchmarkEvidenceRules_1.COMPASS_QUESTIONS[8][cp.id]).toBeTruthy();
49
86
  });
50
87
  });
51
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"benchmarkEvidenceRules.test.js","sourceRoot":"","sources":["../src/benchmarkEvidenceRules.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmarkEvidenceRules.test.js","sourceRoot":"","sources":["../src/benchmarkEvidenceRules.test.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,130 @@
1
- import { ExternalEvent } from "./typeDefinitions";
2
1
  /**
3
- * Benchmarks Compass+ accepts on an individual Activity row. GB1 ("a stable careers programme")
4
- * describes whole-provision leadership, not a single encounter. CEC's Activities Upload template
5
- * only offers Benchmarks 2-8 in its Benchmark dropdown, so GB1-only events have nothing to export.
2
+ * compassExport.ts — CareerThread's evidence as Compass+ Activity rows.
3
+ *
4
+ * The template itself (its 70 columns, its vocabularies, its rules) is
5
+ * `compassTemplate.ts`. This file is the other half: turning the four things
6
+ * the Benchmarks dashboard counts as evidence into rows of that shape.
7
+ *
8
+ * externalEvents → 2-8 (tagged benchmarks) — here
9
+ * placements → 6 (experiences of workplaces) — here
10
+ * studentActivities → 5/6/7 (activityEvidenceBenchmarks) — here
11
+ * careersRecord → 8 (qualified personal guidance) — compassGuidanceExport
12
+ *
13
+ * Placements are the important addition. They are Benchmark 6's entire
14
+ * evidence base for a work-experience school and had never reached Compass at
15
+ * all, so a school's return understated the one benchmark CareerThread holds
16
+ * the most evidence for.
17
+ *
18
+ * All four builders produce the same `CompassActivityRow` and go through the
19
+ * same serialiser, so the formats cannot drift apart.
20
+ *
21
+ * ─── The blocks we cannot always source ──────────────────────────────────────
22
+ * "Type of Careers Partner involved" and the BM5/6/7 "Meaningfulness" sets are
23
+ * at-least-one-mandatory on CEC's sheet, and for most sources we hold nothing
24
+ * that maps to them. The policy, in the order it is applied:
25
+ *
26
+ * 1. Derive it where the mapping is a fact rather than a guess. A work
27
+ * experience placement IS an employer encounter; a qualified personal
28
+ * guidance meeting IS a qualified careers adviser; a placement whose
29
+ * employer feedback form came back DID provide employer feedback.
30
+ * 2. Capture it on the event form, for events, where nothing can be derived
31
+ * (see ExternalEvent.compassCareersPartners / compassMeaningfulness).
32
+ * 3. Otherwise leave the column empty and raise a WARNING, so the export
33
+ * preview tells staff exactly which columns they will be asked to complete
34
+ * in the workbook before uploading.
35
+ *
36
+ * We never write a plausible "Yes". Compass+ accepts a wrong value silently
37
+ * and mis-files the school's return; an obviously incomplete file does not.
38
+ *
39
+ * The 15 "Learner outcomes" columns are optional on CEC's own guide and we
40
+ * hold nothing that means the same thing, so they are always left empty and
41
+ * are not warned about.
6
42
  */
7
- export declare const COMPASS_VALID_ACTIVITY_BENCHMARKS: number[];
43
+ import { CareersRecordEntry, ExternalEvent, StudentActivity, StudentPlacementData } from "./typeDefinitions";
44
+ import { CompassActivityRow, CompassDeliveryMethod, CompassExportIssue } from "./compassTemplate";
8
45
  /**
9
- * Benchmarks where the PAL Compliance column is meaningful. Provider Access Legislation covers
10
- * encounters with technical education/apprenticeship providers, which sit under GB5-7. Compass+
11
- * only reflects this field on activities tagged with one of these three.
46
+ * CareersRecordEntry.mode → Compass's delivery method.
47
+ *
48
+ * `phone` has no exact equivalent in CEC's three values. It maps to "Online"
49
+ * as the remote option rather than "In person", which would be untrue; the
50
+ * alternative is leaving a mandatory field blank and having the row rejected.
51
+ *
52
+ * @param {CareersRecordEntry["mode"]} mode how the meeting took place.
53
+ * @return {CompassDeliveryMethod} the Compass delivery method.
12
54
  */
13
- export declare const COMPASS_PAL_BENCHMARKS: number[];
55
+ export declare function compassDeliveryMethod(mode: CareersRecordEntry["mode"]): CompassDeliveryMethod;
14
56
  /**
15
- * Whether CareerThread is currently a CEC-recognised Compass+ "Partner Platform" (the status
16
- * Unifrog, Xello/Cascaid, Morrisby etc. have). Compass+'s "Partner Platform" upload format tries
17
- * to auto-detect the source from the file, and an unrecognised source can hit a "Missing Activity
18
- * Source Data" error with no listed option to resolve it. So while this is false, exports use
19
- * Compass+'s plain 8-column template instead, the one every Compass+ user already downloads and
20
- * fills in by hand inside their own account. That format has no source-detection step at all,
21
- * because it isn't claiming to come from anywhere, so it can't hit that error. The trade-off:
22
- * that template has no PAL Compliance / Parent Attendance columns, so those two fields are
23
- * dropped from the file (not from our own data) until this flips to true, at which point the
24
- * export automatically switches to the full 10-column partner format.
57
+ * A tagged event as a single Compass+ Activities row.
58
+ *
59
+ * One row, not one per benchmark: the template carries GB2-GB8 as seven
60
+ * boolean columns, so an employer talk logged as both GB5 and GB7 is one
61
+ * activity with two "Yes" cells.
62
+ *
63
+ * @param {Partial<ExternalEvent>} event the event.
64
+ * @param {string[]} learnerUpns UPNs of the pupils who actually attended.
65
+ * @param {string} [id] the event's document id, for issue reporting.
66
+ * @return {CompassActivityRow[]} one row, or none if it has no valid benchmark.
25
67
  */
26
- export declare const COMPASS_PARTNER_PLATFORM_RECOGNISED = false;
27
- export declare const COMPASS_ACTIVITY_CSV_HEADERS: string[];
28
- export type CompassActivityRow = {
29
- benchmark: number;
30
- category: string;
31
- activityName: string;
32
- startDateTime: string;
33
- endDateTime: string;
34
- learnerUpns: string;
35
- schoolLead: string;
36
- notes: string;
37
- palCompliance: "Yes" | "";
38
- parentAttendance: "Yes" | "";
39
- };
40
- export type CompassExportIssue = {
41
- eventId: string;
42
- eventName: string;
43
- level: "blocking" | "warning";
44
- message: string;
45
- };
68
+ export declare function buildCompassActivityRows(event: Partial<ExternalEvent> & {
69
+ id?: string;
70
+ }, learnerUpns: string[], id?: string): CompassActivityRow[];
46
71
  /**
47
- * Checks whether an event is safe to include in a Compass+ export. "blocking" issues mean the
48
- * event is left out of the file entirely (it would fail Compass+'s own validation and, worse,
49
- * could silently upload with the wrong benchmark/category). "warning" issues still get exported,
50
- * but should be shown to staff before they send the file on to a school.
72
+ * Whether an event is safe to include in an export.
73
+ *
74
+ * Runs the template's own rules over the built row, then adds the two things
75
+ * only the caller knows: that the event had attendees, and how many of them
76
+ * could be matched to a UPN.
77
+ *
78
+ * @param {Partial<ExternalEvent>} event the event.
79
+ * @param {number} learnerCount attendees who took their place.
80
+ * @param {number} learnersWithUpnCount how many of those have a UPN on file.
81
+ * @return {CompassExportIssue[]} what is wrong with it.
51
82
  */
52
83
  export declare function validateCompassExportEvent(event: Partial<ExternalEvent> & {
53
84
  id?: string;
54
85
  }, learnerCount: number, learnersWithUpnCount: number): CompassExportIssue[];
55
86
  /**
56
- * Expands a single event into one Compass+ Activities-Upload row per valid benchmark. Compass+'s
57
- * template is one benchmark + one category per row, so an event tagged with multiple benchmarks
58
- * (e.g. an employer talk logged as both GB5 and GB7) becomes multiple rows sharing the same
59
- * activity name, dates and learner list. Rows for benchmarks without a mandatory category are
60
- * skipped: callers should run validateCompassExportEvent first and surface that as a blocking
61
- * issue rather than silently dropping the row here.
87
+ * A work experience placement as a Benchmark 6 row.
88
+ *
89
+ * Everything here is derived, not guessed. A placement is by definition an
90
+ * experience of a workplace hosted by an employer, so "Type of activity:
91
+ * Experiences of workplaces" and "Type of Careers Partner involved: Employer"
92
+ * are facts about the record. Two of BM6's eight meaningfulness statements are
93
+ * facts too: `feedback.provider.completed` means the employer did give
94
+ * feedback, and `feedback.students.completed` means the pupil was given a
95
+ * structured reflection. The other six are left for the school.
96
+ *
97
+ * @param {StudentPlacementData} placement the placement.
98
+ * @param {string} upn the pupil's UPN. Without one there is no row.
99
+ * @return {CompassActivityRow[]} one row, or none.
100
+ */
101
+ export declare function buildCompassPlacementRows(placement: StudentPlacementData, upn: string): CompassActivityRow[];
102
+ /**
103
+ * Why a placement can't be exported.
104
+ *
105
+ * @param {StudentPlacementData} placement the placement.
106
+ * @param {string} [upn] the pupil's UPN, if they have one.
107
+ * @param {string} [pupilName] the pupil, for the message.
108
+ * @return {CompassExportIssue[]} what is wrong with it.
109
+ */
110
+ export declare function validateCompassExportPlacement(placement: StudentPlacementData, upn?: string, pupilName?: string): CompassExportIssue[];
111
+ /**
112
+ * A logged student activity as a Compass+ row, for the types that carry Gatsby
113
+ * evidence. The benchmarks come from `activityEvidenceBenchmarks`, the same
114
+ * rule the Benchmarks dashboard counts on, so a school's return and its
115
+ * coverage figure can never disagree about what an activity evidences.
116
+ *
117
+ * @param {StudentActivity} activity the logged activity.
118
+ * @param {string} upn the pupil's UPN. Without one there is no row.
119
+ * @return {CompassActivityRow[]} one row, or none.
120
+ */
121
+ export declare function buildCompassStudentActivityRows(activity: StudentActivity, upn: string): CompassActivityRow[];
122
+ /**
123
+ * Why a logged activity can't be exported.
124
+ *
125
+ * @param {StudentActivity} activity the activity.
126
+ * @param {string} [upn] the pupil's UPN, if they have one.
127
+ * @param {string} [pupilName] the pupil, for the message.
128
+ * @return {CompassExportIssue[]} what is wrong with it.
62
129
  */
63
- export declare function buildCompassActivityRows(event: Partial<ExternalEvent>, learnerUpns: string[]): CompassActivityRow[];
64
- export declare function compassActivityRowToCsvArray(row: CompassActivityRow): string[];
130
+ export declare function validateCompassExportStudentActivity(activity: StudentActivity, upn?: string, pupilName?: string): CompassExportIssue[];