crewly 1.20.377 → 1.20.379

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.
Files changed (68) hide show
  1. package/config/hooks/destructive-git-guard/guard.mjs +33 -4
  2. package/config/hooks/destructive-git-guard/local-gates.json +3 -2
  3. package/config/skills/agent/core/record-tl-verification/SKILL.md +39 -0
  4. package/config/skills/agent/core/record-tl-verification/execute.sh +71 -0
  5. package/config/skills/agent/core/record-tl-verification/execute.test.sh +56 -0
  6. package/dist/backend/backend/src/constants.d.ts +60 -0
  7. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  8. package/dist/backend/backend/src/constants.js +60 -0
  9. package/dist/backend/backend/src/constants.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts +17 -0
  11. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  12. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +49 -0
  13. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts +2 -0
  15. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.d.ts.map +1 -1
  16. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js +5 -1
  17. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.routes.js.map +1 -1
  18. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +3 -0
  20. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  21. package/dist/backend/backend/src/index.d.ts.map +1 -1
  22. package/dist/backend/backend/src/index.js +23 -0
  23. package/dist/backend/backend/src/index.js.map +1 -1
  24. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  26. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  27. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +22 -0
  28. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +64 -3
  30. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
  31. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.d.ts +59 -0
  32. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.d.ts.map +1 -0
  33. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.js +123 -0
  34. package/dist/backend/backend/src/services/project-tickets/ticket-routine-nudge.js.map +1 -0
  35. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts +173 -0
  36. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.d.ts.map +1 -0
  37. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js +263 -0
  38. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.js.map +1 -0
  39. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts +35 -0
  40. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.d.ts.map +1 -0
  41. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js +47 -0
  42. package/dist/backend/backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.js.map +1 -0
  43. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +39 -0
  44. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +93 -2
  46. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +2 -0
  48. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
  50. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.d.ts +110 -0
  51. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.d.ts.map +1 -0
  52. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.js +243 -0
  53. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.js.map +1 -0
  54. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.d.ts +27 -0
  55. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.d.ts.map +1 -0
  56. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.js +45 -0
  57. package/dist/backend/backend/src/services/v3/owner-receipt/verified-spot-check.loader.js.map +1 -0
  58. package/dist/backend/build-info.json +2 -2
  59. package/dist/cli/backend/src/constants.d.ts +60 -0
  60. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  61. package/dist/cli/backend/src/constants.js +60 -0
  62. package/dist/cli/backend/src/constants.js.map +1 -1
  63. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +5 -0
  65. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  66. package/frontend/dist/assets/{index-b4db6abe.js → index-19c47468.js} +76 -76
  67. package/frontend/dist/index.html +1 -1
  68. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Loader for the weekly owner-pulls rollup (#1387): reads decision cards,
3
+ * Request open items and trace owner touches, and hands them to the pure
4
+ * rollup in {@link ./owner-pulls-weekly}.
5
+ *
6
+ * @module services/v3/owner-receipt/owner-pulls-weekly.loader
7
+ */
8
+ import { OWNER_RECEIPT_CONSTANTS } from '../../../constants.js';
9
+ import { countOwnerTouches, pullsFromDecisions, pullsFromOpenItems, rollupPulls, } from './owner-pulls-weekly.js';
10
+ /**
11
+ * Build the `loadPullsWeekly` dependency of the owner receipt service.
12
+ *
13
+ * @param deps - Data sources
14
+ * @returns Function that computes the rollup for the week ending at `now`
15
+ */
16
+ export function createPullsWeeklyLoader(deps) {
17
+ return async (now) => {
18
+ const span = OWNER_RECEIPT_CONSTANTS.PULLS_WEEKLY.WINDOW_MS;
19
+ const [decisions, requests, teams, teamNames] = await Promise.all([
20
+ deps.listDecisions(),
21
+ deps.listRequests(),
22
+ deps.loadTeamIndex(),
23
+ deps.loadTeamNameById ? deps.loadTeamNameById() : Promise.resolve(new Map()),
24
+ ]);
25
+ const cardedKeys = new Set();
26
+ for (const d of decisions)
27
+ if (d.requestRef)
28
+ cardedKeys.add(`${d.requestRef.requestId}:${d.requestRef.itemId}`);
29
+ const items = requests.flatMap((r) => (r.openItems ?? []).map((item) => ({ requestId: r.id, item })));
30
+ const records = [
31
+ ...pullsFromDecisions(decisions, (d) => teamNames.get(d.teamId ?? '') ?? teams.get(d.asker) ?? teams.get(d.requestedBy) ?? null),
32
+ ...pullsFromOpenItems(items, cardedKeys, (session) => teams.get(session) ?? null),
33
+ ];
34
+ let touches;
35
+ if (deps.listTraceTouches) {
36
+ try {
37
+ const since = new Date(now.getTime() - 2 * span);
38
+ touches = countOwnerTouches(await deps.listTraceTouches(since, OWNER_RECEIPT_CONSTANTS.PULLS_WEEKLY.MAX_TRACES), now);
39
+ }
40
+ catch {
41
+ touches = undefined; // the pulls stand without the touch count
42
+ }
43
+ }
44
+ return rollupPulls(records, now, touches);
45
+ };
46
+ }
47
+ //# sourceMappingURL=owner-pulls-weekly.loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-pulls-weekly.loader.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-pulls-weekly.loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,GAEZ,MAAM,yBAAyB,CAAC;AAiBjC;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAA2B;IACjE,OAAO,KAAK,EAAE,GAAS,EAAwB,EAAE;QAC/C,MAAM,IAAI,GAAG,uBAAuB,CAAC,YAAY,CAAC,SAAS,CAAC;QAC5D,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChE,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,EAAkB,CAAC;SAC7F,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,SAAS;YAAE,IAAI,CAAC,CAAC,UAAU;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAChH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG;YACd,GAAG,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;YAChI,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;SAClF,CAAC;QACF,IAAI,OAA2D,CAAC;QAChE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,OAAO,GAAG,iBAAiB,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YACxH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,SAAS,CAAC,CAAC,0CAA0C;YACjE,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC"}
@@ -15,6 +15,8 @@
15
15
  import type { Request } from '../../../types/v2/request.types.js';
16
16
  import type { WorkItem } from '../../../types/v2/work-item.types.js';
17
17
  import { type ReceiptCostSource } from './owner-receipt-data.js';
18
+ import { type PullsWeekly } from './owner-pulls-weekly.js';
19
+ import { type SpotCheckResult } from './verified-spot-check.js';
18
20
  import type { IntakeLogReading } from '../ticket-intake-log.js';
19
21
  import { type OwnerReceiptSettings, type OwnerReceiptState, type ReceiptData } from './owner-receipt.types.js';
20
22
  /** Sends the rendered receipt to the owner; true when it was accepted. */
@@ -36,6 +38,10 @@ export interface OwnerReceiptServiceDeps {
36
38
  cost?: ReceiptCostSource;
37
39
  /** The intake outcome log (#828 coverage); absent = coverage 不详 */
38
40
  readIntakeLog?: () => Promise<IntakeLogReading>;
41
+ /** The weekly "pulled you in" rollup (#1387); absent = no weekly line */
42
+ loadPullsWeekly?: (now: Date) => Promise<PullsWeekly | null>;
43
+ /** The daily spot-check of verified work (#1315); absent = no spot-check line */
44
+ loadSpotCheck?: (now: Date) => Promise<SpotCheckResult | null>;
39
45
  now?: () => Date;
40
46
  }
41
47
  /** Options for {@link OwnerReceiptService.generate}. */
@@ -110,6 +116,19 @@ export declare class OwnerReceiptService {
110
116
  data: ReceiptData;
111
117
  text: string;
112
118
  }>;
119
+ /**
120
+ * The weekly "pulled you in" rollup for the seven days before now (#1387).
121
+ *
122
+ * @returns The rollup, or null when it is not wired
123
+ */
124
+ pullsWeekly(): Promise<PullsWeekly | null>;
125
+ /**
126
+ * The daily spot-check of verified WorkItems (#1315): re-checks that the
127
+ * file artifacts they recorded still exist. Read-only.
128
+ *
129
+ * @returns The result, or null when it is not wired
130
+ */
131
+ spotCheck(): Promise<SpotCheckResult | null>;
113
132
  /**
114
133
  * Send the receipt now (manual send, or the scheduler) and move the window.
115
134
  * The window only moves when the send succeeded, so a failed night's asks
@@ -137,6 +156,26 @@ export declare class OwnerReceiptService {
137
156
  * @returns What happened
138
157
  */
139
158
  private sendNow;
159
+ /**
160
+ * The weekly pulls line, when today is the report weekday and this week's
161
+ * line has not gone out. Failures are logged and the line is left out.
162
+ *
163
+ * @returns The redacted line and the local date to record, or null
164
+ */
165
+ private weeklyPullsLine;
166
+ /**
167
+ * The spot-check line. Failures are logged and the line is left out; every
168
+ * discrepancy is logged with its WorkItem id (the owner line carries none).
169
+ *
170
+ * @returns The redacted line and the run, or null
171
+ */
172
+ private spotCheckLine;
173
+ /**
174
+ * Record that this week's pulls line went out.
175
+ *
176
+ * @param localDate - Local date it went out
177
+ */
178
+ private markPullsSent;
140
179
  /**
141
180
  * Move the window: the next receipt starts where this one ended, and today
142
181
  * counts as done.
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAKrE,OAAO,EAAiF,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEhJ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAElC,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/D,gCAAgC;AAChC,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,mDAAmD;IACnD,aAAa,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,sEAAsE;IACtE,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,IAAI,CAAC,EAAE,oBAAoB,GAAG,WAAW,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE/G,6BAA6B;AAC7B,qBAAa,mBAAmB;IAUlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IATjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,WAAW,CAA6D;IAChF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAuC;IAEtD;;OAEG;gBAC0B,IAAI,EAAE,uBAAuB;IAM1D;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAM5C;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,oBAAoB,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1H;;;;;OAKG;IACG,eAAe,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,iBAAiB,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUlI;;;;;OAKG;IACG,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA+BxF;;;;;;OAMG;IACH,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAM3B;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQlC;;;;;OAKG;YACW,KAAK;IAUnB;;;;OAIG;YACW,OAAO;IA0BrB;;;;;OAKG;YACW,QAAQ;IAStB;;;;OAIG;YACW,UAAU;IAQxB;;;;OAIG;IACH,OAAO,CAAC,GAAG;CAGZ;AAQD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE"}
1
+ {"version":3,"file":"owner-receipt.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.service.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ import { getCrewlyHomePath } from '../../core/crewly-home.utils.js';
20
20
  import { redactSensitive } from '../../wiki/wiki-redaction.js';
21
21
  import { buildReceiptData, isReceiptEmpty, localDate, localParts, resolveReceiptWindow } from './owner-receipt-data.js';
22
22
  import { renderReceiptSlack } from './owner-receipt.renderer.js';
23
+ import { renderPullsWeekly } from './owner-pulls-weekly.js';
24
+ import { renderSpotCheck } from './verified-spot-check.js';
23
25
  import { applySettingsPatch, defaultReceiptSettings, } from './owner-receipt.types.js';
24
26
  /** Nightly owner receipt. */
25
27
  export class OwnerReceiptService {
@@ -115,6 +117,23 @@ export class OwnerReceiptService {
115
117
  });
116
118
  return { data, text: redactSensitive(renderReceiptSlack(data)) };
117
119
  }
120
+ /**
121
+ * The weekly "pulled you in" rollup for the seven days before now (#1387).
122
+ *
123
+ * @returns The rollup, or null when it is not wired
124
+ */
125
+ pullsWeekly() {
126
+ return this.deps.loadPullsWeekly ? this.deps.loadPullsWeekly(this.now()) : Promise.resolve(null);
127
+ }
128
+ /**
129
+ * The daily spot-check of verified WorkItems (#1315): re-checks that the
130
+ * file artifacts they recorded still exist. Read-only.
131
+ *
132
+ * @returns The result, or null when it is not wired
133
+ */
134
+ spotCheck() {
135
+ return this.deps.loadSpotCheck ? this.deps.loadSpotCheck(this.now()) : Promise.resolve(null);
136
+ }
118
137
  /**
119
138
  * Send the receipt now (manual send, or the scheduler) and move the window.
120
139
  * The window only moves when the send succeeded, so a failed night's asks
@@ -162,8 +181,17 @@ export class OwnerReceiptService {
162
181
  * @returns What happened
163
182
  */
164
183
  async sendNow() {
165
- const { data, text } = await this.generate();
166
- if (isReceiptEmpty(data) || !text) {
184
+ const generated = await this.generate();
185
+ const { data } = generated;
186
+ // #1387: once a week, the "pulled you in" line rides along (or goes alone).
187
+ const weekly = await this.weeklyPullsLine();
188
+ // #1315: the spot-check line rides along every receipt; "0 sampled, 0
189
+ // discrepancies" is said out loud. On its own it never makes a receipt go
190
+ // out, but a discrepancy does.
191
+ const spot = await this.spotCheckLine();
192
+ const text = [generated.text, weekly?.text, spot?.text].filter(Boolean).join('\n\n');
193
+ const spotWorthSending = (spot?.result.discrepancies.length ?? 0) > 0;
194
+ if ((isReceiptEmpty(data) && !weekly?.text && !spotWorthSending) || !text) {
167
195
  // Nothing done worth telling, nothing waiting on him: no message at all.
168
196
  await this.markSent(data);
169
197
  this.logger.info('Owner receipt skipped (nothing to say)', { from: data.window.from, to: data.window.to });
@@ -181,6 +209,8 @@ export class OwnerReceiptService {
181
209
  if (!ok)
182
210
  return { sent: false, reason: 'sender_failed', text, data };
183
211
  await this.markSent(data);
212
+ if (weekly)
213
+ await this.markPullsSent(weekly.localDate);
184
214
  this.logger.info('Owner receipt sent', {
185
215
  highlights: data.highlights.length,
186
216
  decisions: data.decisionsTotal,
@@ -189,6 +219,67 @@ export class OwnerReceiptService {
189
219
  });
190
220
  return { sent: true, text, data };
191
221
  }
222
+ /**
223
+ * The weekly pulls line, when today is the report weekday and this week's
224
+ * line has not gone out. Failures are logged and the line is left out.
225
+ *
226
+ * @returns The redacted line and the local date to record, or null
227
+ */
228
+ async weeklyPullsLine() {
229
+ if (!this.deps.loadPullsWeekly)
230
+ return null;
231
+ const now = this.now();
232
+ const { settings, lastPullsLocalDate } = await this.getState();
233
+ const today = localDate(now, settings.timezone);
234
+ if (localParts(now, settings.timezone).weekday !== OWNER_RECEIPT_CONSTANTS.PULLS_WEEKLY.REPORT_WEEKDAY)
235
+ return null;
236
+ if (lastPullsLocalDate === today)
237
+ return null;
238
+ try {
239
+ const rollup = await this.deps.loadPullsWeekly(now);
240
+ return rollup ? { text: redactSensitive(renderPullsWeekly(rollup)), localDate: today } : null;
241
+ }
242
+ catch (err) {
243
+ this.logger.warn('Weekly pulls line left out', { error: err instanceof Error ? err.message : String(err) });
244
+ return null;
245
+ }
246
+ }
247
+ /**
248
+ * The spot-check line. Failures are logged and the line is left out; every
249
+ * discrepancy is logged with its WorkItem id (the owner line carries none).
250
+ *
251
+ * @returns The redacted line and the run, or null
252
+ */
253
+ async spotCheckLine() {
254
+ if (!this.deps.loadSpotCheck)
255
+ return null;
256
+ try {
257
+ const result = await this.deps.loadSpotCheck(this.now());
258
+ if (!result)
259
+ return null;
260
+ this.logger.info('Verified-work spot-check', {
261
+ eligible: result.eligible,
262
+ sampled: result.sampled,
263
+ artifactsChecked: result.artifactsChecked,
264
+ skipped: result.skipped,
265
+ discrepancies: result.discrepancies,
266
+ });
267
+ return { text: redactSensitive(renderSpotCheck(result)), result };
268
+ }
269
+ catch (err) {
270
+ this.logger.warn('Spot-check line left out', { error: err instanceof Error ? err.message : String(err) });
271
+ return null;
272
+ }
273
+ }
274
+ /**
275
+ * Record that this week's pulls line went out.
276
+ *
277
+ * @param localDate - Local date it went out
278
+ */
279
+ async markPullsSent(localDate) {
280
+ const state = await this.getState();
281
+ await this.writeState({ ...state, lastPullsLocalDate: localDate });
282
+ }
192
283
  /**
193
284
  * Move the window: the next receipt starts where this one ended, and today
194
285
  * counts as done.
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-receipt.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.service.ts"],"names":[],"mappings":"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"}
@@ -202,6 +202,8 @@ export interface OwnerReceiptState {
202
202
  lastSentAt?: string;
203
203
  /** Local date (YYYY-MM-DD) of the last send, so one day gets one receipt */
204
204
  lastSentLocalDate?: string;
205
+ /** Local date (YYYY-MM-DD) the weekly pulls line last went out (#1387), so one week gets one line */
206
+ lastPullsLocalDate?: string;
205
207
  /** The one-time format ask (#856 follow-up), once it was asked */
206
208
  formatAsk?: ReceiptFormatAsk;
207
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.types.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-receipt.types.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,gCAAgC;AAChC,MAAM,MAAM,cAAc;AACxB,sGAAsG;AACpG,MAAM;AACR;;;GAGG;GACD,eAAe;AACjB,iDAAiD;GAC/C,WAAW;AACb,uBAAuB;GACrB,aAAa;AACf,cAAc;GACZ,SAAS;AACX,mDAAmD;GACjD,SAAS;AACX,yBAAyB;GACvB,WAAW,CAAC;AAEhB,sCAAsC;AACtC,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAQ5C,CAAC;AAEX,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4BAA4B;AAC5B,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,kBAAkB,EAAE,CAAC;IACnC,oCAAoC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oEAAoE;AACpE,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;CAAE,CAAC;AAEtE,4BAA4B;AAC5B,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,eAAe,GAAG,kBAAkB,CAAC;IAC7C,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,KAAK,EAAE,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAExE;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,eAAe,GAAG,kBAAkB,CAAC;IAC7C,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,mEAAmE;IACnE,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzC,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IACzD,iEAAiE;IACjE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,QAAQ,EAAE,eAAe,CAAC;IAC1B,mFAAmF;IACnF,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxC,4EAA4E;IAC5E,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,kFAAkF;IAClF,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,gFAAgF;IAChF,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qGAAqG;IACrG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEtE,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,MAAM,CAQzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,OAAO,GACb;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiB7E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,oBAAoB,CAM7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.types.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAsBhE,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,MAAM;IACN,eAAe;IACf,WAAW;IACX,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;CACH,CAAC;AAqMX,0BAA0B;AAC1B,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAAW;IACzC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA6B,EAC7B,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAC3G,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAyB,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACnG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;QACpI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;QAC7H,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,uBAAuB,CAAC,YAAY;QAC1C,QAAQ,EAAE,uBAAuB,CAAC,gBAAgB;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"owner-receipt.types.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAsBhE,sCAAsC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD,MAAM;IACN,eAAe;IACf,WAAW;IACX,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;CACH,CAAC;AAuMX,0BAA0B;AAC1B,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAAW;IACzC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA6B,EAC7B,KAAc;IAEd,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;IAC3G,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,MAAM,IAAI,GAAyB,EAAE,GAAG,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACnG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;QACpI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;QAC7H,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,uBAAuB,CAAC,YAAY;QAC1C,QAAQ,EAAE,uBAAuB,CAAC,gBAAgB;KACnD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Verified-work spot-check (#1315, phase 1) — once a day, pick a few WorkItems
3
+ * that were verified in the last 24 hours and re-check that every file
4
+ * artifact recorded as their evidence still exists.
5
+ *
6
+ * Read-only: it never changes a WorkItem and never re-runs a command (that is
7
+ * a later phase). Evidence that is not a local file (URLs, commands, blocked
8
+ * reports) is counted as skipped, not as a pass or a failure. Pure apart from
9
+ * the injected file check and random source, so a day's sample is repeatable.
10
+ *
11
+ * @module services/v3/owner-receipt/verified-spot-check
12
+ */
13
+ import type { WorkItem } from '../../../types/v2/work-item.types.js';
14
+ /** One recorded artifact that is no longer there. */
15
+ export interface SpotCheckDiscrepancy {
16
+ /** WorkItem id (for the log and the API; the owner line does not show it) */
17
+ workItemId: string;
18
+ /** Team name, or the unknown-team label */
19
+ team: string;
20
+ /** The artifact path as recorded */
21
+ artifactPath: string;
22
+ }
23
+ /** Result of one spot-check run. */
24
+ export interface SpotCheckResult {
25
+ /** When the run was made (ISO) */
26
+ at: string;
27
+ /** Verified WorkItems in the window that had a local file artifact to look at */
28
+ eligible: number;
29
+ /** WorkItems picked */
30
+ sampled: number;
31
+ /** File artifacts looked at on the disk */
32
+ artifactsChecked: number;
33
+ /** Evidence entries not checked: URLs, commands, blocked reports, relative paths with no base */
34
+ skipped: number;
35
+ /** Of `skipped`: file artifacts inside a worktree the janitor already removed ("worktree cleaned") */
36
+ worktreeCleaned: number;
37
+ discrepancies: SpotCheckDiscrepancy[];
38
+ }
39
+ /** Inputs of {@link runSpotCheck}. */
40
+ export interface SpotCheckInput {
41
+ workItems: readonly WorkItem[];
42
+ now: Date;
43
+ /** Team name of an agent session, or null */
44
+ teamOf: (session: string) => string | null;
45
+ /** Whether a file or directory exists at an absolute path */
46
+ exists: (absolutePath: string) => Promise<boolean>;
47
+ /** Random number in [0, 1); default is a generator seeded by the day */
48
+ random?: () => number;
49
+ /** Items to pick (default {@link OWNER_RECEIPT_CONSTANTS}.VERIFIED_SPOT_CHECK.SAMPLE_SIZE) */
50
+ sampleSize?: number;
51
+ /** Home directory for `~/` paths */
52
+ homeDir?: string;
53
+ }
54
+ /** A recorded file artifact to look at. */
55
+ interface FileTarget {
56
+ raw: string;
57
+ /** Absolute path candidates, in order; empty = cannot be resolved */
58
+ candidates: string[];
59
+ }
60
+ /**
61
+ * Deterministic random source (mulberry32).
62
+ *
63
+ * @param seed - Any integer
64
+ * @returns Generator of numbers in [0, 1)
65
+ */
66
+ export declare function seededRandom(seed: number): () => number;
67
+ /**
68
+ * Seed for a calendar day, so a second run on the same day picks the same items.
69
+ *
70
+ * @param now - The run time
71
+ * @returns Integer seed
72
+ */
73
+ export declare function daySeed(now: Date): number;
74
+ /**
75
+ * Split a WorkItem's recorded evidence into file artifacts to look at and a
76
+ * count of entries that are not checked.
77
+ *
78
+ * @param wi - WorkItem
79
+ * @param homeDir - Home directory for `~/`
80
+ * @returns Targets and the skipped count
81
+ */
82
+ export declare function fileTargetsOf(wi: WorkItem, homeDir: string): {
83
+ targets: FileTarget[];
84
+ skipped: number;
85
+ };
86
+ /**
87
+ * The worktree root an absolute path lies in: the WorkItem's recorded
88
+ * worktree, else the directory after a known worktree marker.
89
+ *
90
+ * @param abs - Absolute artifact path
91
+ * @param wi - The WorkItem
92
+ * @returns The worktree root, or null when the path is outside any worktree
93
+ */
94
+ export declare function worktreeRootOf(abs: string, wi: WorkItem): string | null;
95
+ /**
96
+ * Run the spot-check.
97
+ *
98
+ * @param input - WorkItems, clock, team lookup, file check
99
+ * @returns What was sampled and what is missing
100
+ */
101
+ export declare function runSpotCheck(input: SpotCheckInput): Promise<SpotCheckResult>;
102
+ /**
103
+ * The owner line: always present, zero is said out loud. No WorkItem ids.
104
+ *
105
+ * @param r - The run
106
+ * @returns Slack mrkdwn, one to five lines
107
+ */
108
+ export declare function renderSpotCheck(r: SpotCheckResult): string;
109
+ export {};
110
+ //# sourceMappingURL=verified-spot-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verified-spot-check.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/verified-spot-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGrE,qDAAqD;AACrD,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACvC;AAED,sCAAsC;AACtC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,GAAG,EAAE,IAAI,CAAC;IACV,6CAA6C;IAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2CAA2C;AAC3C,UAAU,UAAU;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,MAAM,CASvD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAKzC;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA+BvG;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAavE;AAeD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAmFlF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAU1D"}