wicked-crew 0.16.4 → 0.16.6

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 (158) hide show
  1. package/dist/api/ask-paths.d.ts +5 -2
  2. package/dist/api/ask-paths.d.ts.map +1 -1
  3. package/dist/api/ask-paths.js +6 -3
  4. package/dist/api/ask-paths.js.map +1 -1
  5. package/dist/api/chat-scope.d.ts +8 -3
  6. package/dist/api/chat-scope.d.ts.map +1 -1
  7. package/dist/api/chat-scope.js +17 -5
  8. package/dist/api/chat-scope.js.map +1 -1
  9. package/dist/api/chat-workflow.d.ts +60 -0
  10. package/dist/api/chat-workflow.d.ts.map +1 -0
  11. package/dist/api/chat-workflow.js +80 -0
  12. package/dist/api/chat-workflow.js.map +1 -0
  13. package/dist/api/endpoint-manifest-live.d.ts.map +1 -1
  14. package/dist/api/endpoint-manifest-live.js +2 -0
  15. package/dist/api/endpoint-manifest-live.js.map +1 -1
  16. package/dist/api/needs.d.ts +116 -0
  17. package/dist/api/needs.d.ts.map +1 -0
  18. package/dist/api/needs.js +618 -0
  19. package/dist/api/needs.js.map +1 -0
  20. package/dist/api/routes.d.ts +23 -1
  21. package/dist/api/routes.d.ts.map +1 -1
  22. package/dist/api/routes.js +297 -25
  23. package/dist/api/routes.js.map +1 -1
  24. package/dist/api/run-liveness.d.ts +8 -0
  25. package/dist/api/run-liveness.d.ts.map +1 -1
  26. package/dist/api/run-liveness.js +39 -7
  27. package/dist/api/run-liveness.js.map +1 -1
  28. package/dist/api/run-timing-index.d.ts +6 -0
  29. package/dist/api/run-timing-index.d.ts.map +1 -1
  30. package/dist/api/run-timing-index.js +18 -0
  31. package/dist/api/run-timing-index.js.map +1 -1
  32. package/dist/api/server.d.ts +8 -0
  33. package/dist/api/server.d.ts.map +1 -1
  34. package/dist/api/server.js +149 -3
  35. package/dist/api/server.js.map +1 -1
  36. package/dist/api/system-snapshot.d.ts +7 -15
  37. package/dist/api/system-snapshot.d.ts.map +1 -1
  38. package/dist/api/system-snapshot.js +7 -115
  39. package/dist/api/system-snapshot.js.map +1 -1
  40. package/dist/core/run-identity.d.ts.map +1 -1
  41. package/dist/core/run-identity.js +3 -0
  42. package/dist/core/run-identity.js.map +1 -1
  43. package/dist/evals/capture.d.ts +93 -0
  44. package/dist/evals/capture.d.ts.map +1 -0
  45. package/dist/evals/capture.js +419 -0
  46. package/dist/evals/capture.js.map +1 -0
  47. package/dist/evals/replay.d.ts +33 -0
  48. package/dist/evals/replay.d.ts.map +1 -0
  49. package/dist/evals/replay.js +87 -0
  50. package/dist/evals/replay.js.map +1 -0
  51. package/dist/evals/routes.d.ts +48 -0
  52. package/dist/evals/routes.d.ts.map +1 -0
  53. package/dist/evals/routes.js +121 -0
  54. package/dist/evals/routes.js.map +1 -0
  55. package/dist/evals/run-cli.d.ts +31 -0
  56. package/dist/evals/run-cli.d.ts.map +1 -0
  57. package/dist/evals/run-cli.js +128 -0
  58. package/dist/evals/run-cli.js.map +1 -0
  59. package/dist/evals/runner.d.ts +34 -0
  60. package/dist/evals/runner.d.ts.map +1 -0
  61. package/dist/evals/runner.js +181 -0
  62. package/dist/evals/runner.js.map +1 -0
  63. package/dist/evals/score.d.ts +31 -0
  64. package/dist/evals/score.d.ts.map +1 -0
  65. package/dist/evals/score.js +191 -0
  66. package/dist/evals/score.js.map +1 -0
  67. package/dist/evals/seed-needs-you.d.ts +17 -0
  68. package/dist/evals/seed-needs-you.d.ts.map +1 -0
  69. package/dist/evals/seed-needs-you.js +57 -0
  70. package/dist/evals/seed-needs-you.js.map +1 -0
  71. package/dist/evals/seed-rig.d.ts +9 -0
  72. package/dist/evals/seed-rig.d.ts.map +1 -0
  73. package/dist/evals/seed-rig.js +156 -0
  74. package/dist/evals/seed-rig.js.map +1 -0
  75. package/dist/evals/stats.d.ts +31 -0
  76. package/dist/evals/stats.d.ts.map +1 -0
  77. package/dist/evals/stats.js +59 -0
  78. package/dist/evals/stats.js.map +1 -0
  79. package/dist/evals/steering.d.ts +9 -0
  80. package/dist/evals/steering.d.ts.map +1 -0
  81. package/dist/evals/steering.js +25 -0
  82. package/dist/evals/steering.js.map +1 -0
  83. package/dist/evals/store.d.ts +26 -0
  84. package/dist/evals/store.d.ts.map +1 -0
  85. package/dist/evals/store.js +96 -0
  86. package/dist/evals/store.js.map +1 -0
  87. package/dist/evals/synthetic.d.ts +17 -0
  88. package/dist/evals/synthetic.d.ts.map +1 -0
  89. package/dist/evals/synthetic.js +71 -0
  90. package/dist/evals/synthetic.js.map +1 -0
  91. package/dist/evals/types.d.ts +29 -0
  92. package/dist/evals/types.d.ts.map +1 -0
  93. package/dist/evals/types.js +25 -0
  94. package/dist/evals/types.js.map +1 -0
  95. package/dist/evals/workflow.d.ts +33 -0
  96. package/dist/evals/workflow.d.ts.map +1 -0
  97. package/dist/evals/workflow.js +66 -0
  98. package/dist/evals/workflow.js.map +1 -0
  99. package/dist/insights/analyze-cli.d.ts +18 -0
  100. package/dist/insights/analyze-cli.d.ts.map +1 -0
  101. package/dist/insights/analyze-cli.js +71 -0
  102. package/dist/insights/analyze-cli.js.map +1 -0
  103. package/dist/insights/analyze.d.ts +136 -0
  104. package/dist/insights/analyze.d.ts.map +1 -0
  105. package/dist/insights/analyze.js +358 -0
  106. package/dist/insights/analyze.js.map +1 -0
  107. package/dist/insights/review-service.d.ts +127 -0
  108. package/dist/insights/review-service.d.ts.map +1 -0
  109. package/dist/insights/review-service.js +392 -0
  110. package/dist/insights/review-service.js.map +1 -0
  111. package/dist/insights/routes.d.ts +15 -0
  112. package/dist/insights/routes.d.ts.map +1 -0
  113. package/dist/insights/routes.js +66 -0
  114. package/dist/insights/routes.js.map +1 -0
  115. package/dist/insights/run-facts.d.ts +64 -0
  116. package/dist/insights/run-facts.d.ts.map +1 -0
  117. package/dist/insights/run-facts.js +152 -0
  118. package/dist/insights/run-facts.js.map +1 -0
  119. package/dist/insights/stats.d.ts +38 -0
  120. package/dist/insights/stats.d.ts.map +1 -0
  121. package/dist/insights/stats.js +102 -0
  122. package/dist/insights/stats.js.map +1 -0
  123. package/dist/insights/store.d.ts +89 -0
  124. package/dist/insights/store.d.ts.map +1 -0
  125. package/dist/insights/store.js +87 -0
  126. package/dist/insights/store.js.map +1 -0
  127. package/dist/insights/workflow.d.ts +22 -0
  128. package/dist/insights/workflow.d.ts.map +1 -0
  129. package/dist/insights/workflow.js +39 -0
  130. package/dist/insights/workflow.js.map +1 -0
  131. package/dist/qe/ledger.d.ts +15 -0
  132. package/dist/qe/ledger.d.ts.map +1 -1
  133. package/dist/qe/ledger.js +24 -0
  134. package/dist/qe/ledger.js.map +1 -1
  135. package/dist/schedules/routes.d.ts +48 -0
  136. package/dist/schedules/routes.d.ts.map +1 -0
  137. package/dist/schedules/routes.js +72 -0
  138. package/dist/schedules/routes.js.map +1 -0
  139. package/dist/schedules/scheduler.d.ts +58 -0
  140. package/dist/schedules/scheduler.d.ts.map +1 -0
  141. package/dist/schedules/scheduler.js +194 -0
  142. package/dist/schedules/scheduler.js.map +1 -0
  143. package/dist/schedules/store.d.ts +67 -0
  144. package/dist/schedules/store.d.ts.map +1 -0
  145. package/dist/schedules/store.js +148 -0
  146. package/dist/schedules/store.js.map +1 -0
  147. package/dist/skills/runtime.d.ts +12 -2
  148. package/dist/skills/runtime.d.ts.map +1 -1
  149. package/dist/skills/runtime.js +27 -1
  150. package/dist/skills/runtime.js.map +1 -1
  151. package/dist/team/routes.d.ts +10 -0
  152. package/dist/team/routes.d.ts.map +1 -1
  153. package/dist/team/routes.js +3 -0
  154. package/dist/team/routes.js.map +1 -1
  155. package/endpoint-manifest.json +132 -1
  156. package/package.json +4 -3
  157. package/workflows/review-recent-work.json +54 -0
  158. package/workflows/run-evals.json +29 -0
@@ -0,0 +1,191 @@
1
+ /**
2
+ * The scorer (DES-DEFAULT-EVALS-001 §3, §6): cases in, figures out. Deterministic code only: no model, no clock, no
3
+ * I/O. A case with no observation is `unscored` and is never counted as right or wrong.
4
+ */
5
+ import { calibration, rate } from './stats.js';
6
+ function sameSet(a, b) {
7
+ const sa = new Set(a);
8
+ const sb = new Set(b);
9
+ return sa.size === sb.size && [...sa].every((x) => sb.has(x));
10
+ }
11
+ /** Did the system get this case right? `null` when it gave no answer. */
12
+ export function isCorrect(c) {
13
+ const o = c.observed;
14
+ if (o === null)
15
+ return null;
16
+ const e = c.expected;
17
+ if (e.labels !== undefined)
18
+ return o.labels !== undefined && sameSet(o.labels, e.labels);
19
+ return o.label !== undefined && o.label === e.label;
20
+ }
21
+ export function isModelLabelled(c) {
22
+ return c.expected.by.startsWith('model:');
23
+ }
24
+ function perClass(scored) {
25
+ const labels = new Set();
26
+ for (const c of scored) {
27
+ if (c.expected.label !== undefined)
28
+ labels.add(c.expected.label);
29
+ if (c.observed?.label !== undefined)
30
+ labels.add(c.observed.label);
31
+ }
32
+ return [...labels].sort().map((label) => {
33
+ const said = scored.filter((c) => c.observed?.label === label);
34
+ const truth = scored.filter((c) => c.expected.label === label);
35
+ const both = scored.filter((c) => c.observed?.label === label && c.expected.label === label).length;
36
+ return { label, precision: rate(both, said.length), recall: rate(both, truth.length) };
37
+ });
38
+ }
39
+ function members(scored) {
40
+ let hit = 0;
41
+ let said = 0;
42
+ let truth = 0;
43
+ for (const c of scored) {
44
+ const o = new Set(c.observed?.labels ?? []);
45
+ const e = new Set(c.expected.labels ?? []);
46
+ said += o.size;
47
+ truth += e.size;
48
+ for (const x of o)
49
+ if (e.has(x))
50
+ hit += 1;
51
+ }
52
+ return { precision: rate(hit, said), recall: rate(hit, truth) };
53
+ }
54
+ /** Pairwise merge agreement: over every pair of cases from the same answerer (surface), "these two are one item" in the observation vs the label. */
55
+ function pairs(scored) {
56
+ let both = 0;
57
+ let said = 0;
58
+ let truth = 0;
59
+ for (let i = 0; i < scored.length; i += 1) {
60
+ for (let j = i + 1; j < scored.length; j += 1) {
61
+ const a = scored[i];
62
+ const b = scored[j];
63
+ if ((a.surface ?? '') !== (b.surface ?? ''))
64
+ continue; // each answerer's merge is judged on its own
65
+ const o = a.observed?.cluster !== undefined && a.observed.cluster === b.observed?.cluster;
66
+ const e = a.expected.cluster !== undefined && a.expected.cluster === b.expected.cluster;
67
+ if (o)
68
+ said += 1;
69
+ if (e)
70
+ truth += 1;
71
+ if (o && e)
72
+ both += 1;
73
+ }
74
+ }
75
+ return { precision: rate(both, said), recall: rate(both, truth) };
76
+ }
77
+ export function scoreSlice(cases) {
78
+ const scored = cases.filter((c) => c.observed !== null);
79
+ const right = scored.filter((c) => isCorrect(c) === true).length;
80
+ const out = {
81
+ cases: cases.length,
82
+ unscored: cases.length - scored.length,
83
+ agreement: rate(right, scored.length),
84
+ perClass: perClass(scored),
85
+ };
86
+ if (scored.some((c) => c.expected.labels !== undefined))
87
+ out.members = members(scored);
88
+ if (scored.some((c) => c.expected.cluster !== undefined || c.observed?.cluster !== undefined))
89
+ out.pairs = pairs(scored);
90
+ const confident = scored.filter((c) => typeof c.observed?.confidence === 'number');
91
+ if (confident.length > 0) {
92
+ out.calibration = calibration(confident.map((c) => ({ confidence: c.observed.confidence, correct: isCorrect(c) === true })));
93
+ }
94
+ return out;
95
+ }
96
+ /** The four slices every suite reports (DES §4): real, synthetic, combined (both, no model labels), model. */
97
+ export function slices(cases) {
98
+ const people = cases.filter((c) => !isModelLabelled(c));
99
+ return {
100
+ real: scoreSlice(people.filter((c) => c.source === 'real')),
101
+ synthetic: scoreSlice(people.filter((c) => c.source === 'synthetic')),
102
+ combined: scoreSlice(people),
103
+ model: scoreSlice(cases.filter(isModelLabelled)),
104
+ };
105
+ }
106
+ /**
107
+ * The normalization figure (S8): of the inputs observed in two or more places (projects, or surfaces), the share
108
+ * judged the same everywhere. Computed from the same grouping as {@link driftKeys}.
109
+ */
110
+ export function normalizationRate(cases, drift) {
111
+ const places = new Map();
112
+ for (const c of cases) {
113
+ if (c.observed === null)
114
+ continue;
115
+ const k = `${c.suite}\u0000${c.inputKey}`;
116
+ const p = places.get(k) ?? { surfaces: new Set(), projects: new Set() };
117
+ if (c.surface !== undefined)
118
+ p.surfaces.add(c.surface);
119
+ if (c.project !== null)
120
+ p.projects.add(c.project);
121
+ places.set(k, p);
122
+ }
123
+ let compared = 0;
124
+ for (const p of places.values())
125
+ if (p.surfaces.size >= 2 || p.projects.size >= 2)
126
+ compared += 1;
127
+ return { compared, consistent: compared - drift.length };
128
+ }
129
+ function answerWord(c) {
130
+ const o = c.observed;
131
+ if (o === null)
132
+ return null;
133
+ if (o.labels !== undefined)
134
+ return [...new Set(o.labels)].sort().join('+') || '(none)';
135
+ return o.label ?? null;
136
+ }
137
+ /**
138
+ * Normalization drift (DES §5): the same input judged differently by place. Cases are grouped by suite and
139
+ * `inputKey`; a key whose observed answers differ across projects (or across surfaces, when the cases carry one)
140
+ * is drift. A place where the answers already differ among themselves still counts once per distinct answer.
141
+ */
142
+ export function driftKeys(cases) {
143
+ const groups = new Map();
144
+ for (const c of cases) {
145
+ if (c.observed === null)
146
+ continue;
147
+ const k = `${c.suite}\u0000${c.inputKey}`;
148
+ const g = groups.get(k);
149
+ if (g === undefined)
150
+ groups.set(k, [c]);
151
+ else
152
+ g.push(c);
153
+ }
154
+ const out = [];
155
+ for (const g of groups.values()) {
156
+ const axes = [
157
+ ['surface', (c) => c.surface ?? null],
158
+ ['project', (c) => c.project],
159
+ ];
160
+ for (const [axis, placeOf] of axes) {
161
+ const by = new Map();
162
+ for (const c of g) {
163
+ const place = placeOf(c);
164
+ const word = answerWord(c);
165
+ if (place === null || word === null)
166
+ continue;
167
+ const s = by.get(place) ?? new Set();
168
+ s.add(word);
169
+ by.set(place, s);
170
+ }
171
+ if (by.size < 2)
172
+ continue;
173
+ const distinct = new Set([...by.values()].map((s) => [...s].sort().join('|')));
174
+ if (distinct.size < 2)
175
+ continue;
176
+ const observed = {};
177
+ for (const [place, s] of [...by.entries()].sort(([a], [b]) => a.localeCompare(b)))
178
+ observed[place] = [...s].sort();
179
+ out.push({
180
+ inputKey: g[0].inputKey,
181
+ suite: g[0].suite,
182
+ axis,
183
+ observed,
184
+ caseIds: g.map((c) => c.id).sort(),
185
+ });
186
+ break; // one drift row per key: the surface axis, when present, already names the disagreement
187
+ }
188
+ }
189
+ return out.sort((a, b) => a.suite.localeCompare(b.suite) || a.inputKey.localeCompare(b.inputKey));
190
+ }
191
+ //# sourceMappingURL=score.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score.js","sourceRoot":"","sources":["../../src/evals/score.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * S1 needs-you, seeded from the operator's ruling on one live snapshot (rig crew 0.16.3, 2026-10-27T04:11:50Z,
3
+ * GET only): "the number is how many distinct causes are holding work up right now" (the needs-you DEFINITION).
4
+ * The ruled answer is 5 items over 6 runs. Each item below is asked of four answerers:
5
+ *
6
+ * - `home`: studio's Home badge (`attentionBadge`: gate rows minus ask turns, plus failed runs) said 21;
7
+ * - `needs-page`: studio's /needs headline (`needCount` over every fold row, proposals included) said 51;
8
+ * - `nerve-center`: crew `GET /system` `attention[]` said 12 at the dump (11 on the screenshot);
9
+ * - `codex`: the codex CLI, given the same dump read-only, said 7 (it would not merge the core red-base runs).
10
+ *
11
+ * The surfaces never merge, so each counted row is its own cluster there. These are real cases labelled by the
12
+ * operator; a live capture replaces them once needs-one's Resolve records operator answers.
13
+ */
14
+ import type { EvalCase } from './types.js';
15
+ export declare const NEEDS_YOU_SNAPSHOT = "2026-10-27T04:11:50Z";
16
+ export declare function needsYouSeed(): EvalCase[];
17
+ //# sourceMappingURL=seed-needs-you.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-needs-you.d.ts","sourceRoot":"","sources":["../../src/evals/seed-needs-you.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAoC3C,eAAO,MAAM,kBAAkB,yBAAyB,CAAC;AAEzD,wBAAgB,YAAY,IAAI,QAAQ,EAAE,CAsBzC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * S1 needs-you, seeded from the operator's ruling on one live snapshot (rig crew 0.16.3, 2026-10-27T04:11:50Z,
3
+ * GET only): "the number is how many distinct causes are holding work up right now" (the needs-you DEFINITION).
4
+ * The ruled answer is 5 items over 6 runs. Each item below is asked of four answerers:
5
+ *
6
+ * - `home`: studio's Home badge (`attentionBadge`: gate rows minus ask turns, plus failed runs) said 21;
7
+ * - `needs-page`: studio's /needs headline (`needCount` over every fold row, proposals included) said 51;
8
+ * - `nerve-center`: crew `GET /system` `attention[]` said 12 at the dump (11 on the screenshot);
9
+ * - `codex`: the codex CLI, given the same dump read-only, said 7 (it would not merge the core red-base runs).
10
+ *
11
+ * The surfaces never merge, so each counted row is its own cluster there. These are real cases labelled by the
12
+ * operator; a live capture replaces them once needs-one's Resolve records operator answers.
13
+ */
14
+ const SURFACES = ['home', 'needs-page', 'nerve-center', 'codex'];
15
+ const TINY_MATH_FAILED = ['89da69fb', '1ff74953', 'c2bc93a0', 'dcc4547b', 'e2c2cd4d', '6dd64a52', 'b979f42c', '7bbaab3a', 'bb505ad8', '449f566e', '4b517e33', '78cf6482', '11b1b4ea'];
16
+ const ITEMS = [
17
+ { id: 'infra:load', kind: 'infra', cluster: 'host-load', why: 'the host is overloaded: system slowing', countedBy: ['nerve-center', 'codex'], codexCluster: 'host-load' },
18
+ { id: '29bcace4', kind: 'deliver gate', cluster: 'core-red-base', why: 'the fix for core’s red base waits at its deliver gate', countedBy: ['home', 'needs-page', 'nerve-center', 'codex'], codexCluster: '29bcace4' },
19
+ { id: '1940f173', kind: 'escalation', cluster: 'core-red-base', why: 'held by core’s red base', countedBy: ['home', 'needs-page', 'nerve-center', 'codex'], codexCluster: '1940f173' },
20
+ { id: '2ebd9da2', kind: 'escalation', cluster: 'core-red-base', why: 'held by core’s red base', countedBy: ['home', 'needs-page', 'nerve-center', 'codex'], codexCluster: '2ebd9da2' },
21
+ { id: '64f05d3d', kind: 'escalation', cluster: 'crew-red-base', why: 'crew’s base is red and cannot be separated', countedBy: ['home', 'needs-page', 'nerve-center', 'codex'], codexCluster: '64f05d3d' },
22
+ { id: '290a7fee', kind: 'escalation', cluster: 'dead-seat', why: 'a dead seat with no failover', countedBy: ['home', 'needs-page', 'nerve-center', 'codex'], codexCluster: '290a7fee' },
23
+ { id: '68c26704', kind: 'escalation (ask)', cluster: 'ask-refused', why: 'an ask refused by input governance waits on the operator', countedBy: ['nerve-center', 'codex'], codexCluster: '68c26704' },
24
+ { id: '7f4e149f', kind: 'deliver gate', cluster: null, why: 'superseded: the same repo and title was delivered later', countedBy: ['home', 'needs-page', 'nerve-center'] },
25
+ { id: '9bd0f728', kind: 'escalation', cluster: null, why: 'superseded: a retry names it and was delivered', countedBy: ['home', 'needs-page', 'nerve-center'] },
26
+ { id: 'b87f42fb', kind: 'answered ask', cluster: null, why: 'an answered ask parked at its turn', countedBy: ['nerve-center'] },
27
+ { id: 'e43c4560', kind: 'answered ask', cluster: null, why: 'an answered ask parked at its turn', countedBy: ['nerve-center'] },
28
+ ...TINY_MATH_FAILED.map((id) => ({ id, kind: 'failed run', cluster: null, why: 'an old ad-hoc probe, failed over 7 days ago', countedBy: ['home', 'needs-page'] })),
29
+ { id: '910e3e0b', kind: 'failed run', cluster: null, why: 'superseded by a delivered run', countedBy: ['home', 'needs-page'] },
30
+ { id: 'cli:copilot', kind: 'benched seat', cluster: null, why: 'a self-expiring bench while a distinct judge is still available (info)', countedBy: ['nerve-center'] },
31
+ { id: 'proposals', kind: 'pending proposals', cluster: null, why: 'reviews: nothing waits on them (to review, not in the number)', countedBy: ['needs-page'] },
32
+ ];
33
+ export const NEEDS_YOU_SNAPSHOT = '2026-10-27T04:11:50Z';
34
+ export function needsYouSeed() {
35
+ const out = [];
36
+ for (const it of ITEMS) {
37
+ for (const s of SURFACES) {
38
+ const counted = it.countedBy.includes(s);
39
+ const cluster = counted ? (s === 'codex' ? (it.codexCluster ?? it.id) : it.id) : undefined;
40
+ out.push({
41
+ id: `needs-you:${NEEDS_YOU_SNAPSHOT}:${s}:${it.id}`,
42
+ suite: 'needs-you',
43
+ source: 'real',
44
+ project: null,
45
+ surface: s,
46
+ inputKey: `needs:${it.id}`,
47
+ input: { item: it.id, kind: it.kind, snapshot: NEEDS_YOU_SNAPSHOT },
48
+ observed: { label: counted ? 'count' : 'not', ...(cluster !== undefined ? { cluster } : {}), by: 'recorded' },
49
+ expected: { label: it.cluster !== null ? 'count' : 'not', ...(it.cluster !== null ? { cluster: it.cluster } : {}), by: 'operator', why: it.why },
50
+ evidence: { file: 'the needs-you DEFINITION ruling, 2026-10-27' },
51
+ baseline: true,
52
+ });
53
+ }
54
+ }
55
+ return out;
56
+ }
57
+ //# sourceMappingURL=seed-needs-you.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-needs-you.js","sourceRoot":"","sources":["../../src/evals/seed-needs-you.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Real cases captured from the test rig's run store on 2026-10-27 (crew 0.16.3, GET only), by this module's own
3
+ * capture code (`capture.ts`), so a fresh daemon has evidence on day one. Live capture yields the same ids and
4
+ * replaces these. Inputs are scrubbed: no paths, no operator words, titles only.
5
+ */
6
+ import type { EvalCase } from './types.js';
7
+ export declare const RIG_SEED_AT = "2026-10-27";
8
+ export declare const RIG_SEED: EvalCase[];
9
+ //# sourceMappingURL=seed-rig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-rig.d.ts","sourceRoot":"","sources":["../../src/evals/seed-rig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,WAAW,eAAe,CAAC;AAGxC,eAAO,MAAM,QAAQ,EAAE,QAAQ,EAmJwb,CAAC"}